[分享] power query将excel表格生成json格式数据

  [复制链接]
查看110985 | 回复120 | 2021-2-19 02:07:44 | 显示全部楼层 |阅读模式
今天讲解一下如何利用power query 将excel 表格数据转化为json格式的数据。由于我先在csdn的博客上写好文章的,所以图片带了我的博客地址水印.忽略就好。
101006ml9ja0e3lx8x8ulu.png
1、先将数据放进power query编辑器下:
101356gp2wn5g7cwcbmbw0.png
2.利用Json.FromValue()将表转化为json格式字符串。不要忘了Json.FromValue()返回的是二进制。需要利用Text.FromBinary()返回字符串结果。
101658r6nyn6yzfgnn0n92.png
结果我们就看到如上图的结果了。默认返回Unicode编码字符。代码如下:
  1. let

  2.   //读取表格数据到power query

  3.   源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],

  4.   //Json.FromValue将table转化为json,文本输出。

  5.   res=Text.FromBinary(Json.FromValue(源))

  6. in

  7.   res
复制代码
现在我想生成汉字该怎么办呢。利用js的escape函数对unicode编码进行解码。下面是构建一个自定义函数:
  1. fx=(s as text)=>Web.Page("")[Data]{0}[Children]{0}[Children]{1}[Text]{0}
复制代码
那么我们再回到原来的例子上,看完整的代码:
  1. let

  2.   //读取表格数据到power query

  3.   源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],

  4.   //Json.FromValue将table转化为json,文本输出。

  5.   res=Text.FromBinary(Json.FromValue(源)),

  6.   fx=(s as text)=>Web.Page("")[Data]{0}[Children]{0}[Children]{1}[Text]{0},

  7.   //将Unicode编码字符转化为汉字

  8.   hz=fx(res)

  9. in

  10.   hz

复制代码
得到的结果如下图所示:
102115rc1mmh1m1lhecwyk.png
好了,that's all
----------------------ending-----------------------------
回复

使用道具 举报

zologist | 2021-2-19 02:12:44 | 显示全部楼层
pandas 先read_excel,然后to_json,好了。
回复

使用道具 举报

tangdashuai | 2021-2-19 02:18:45 | 显示全部楼层
学习了,收藏一个先
回复

使用道具 举报

石头 | 2021-4-25 18:23:15 | 显示全部楼层
very good。。。。。
回复

使用道具 举报

hansonlc | 2021-4-29 17:24:51 | 显示全部楼层
啥玩应呀
回复

使用道具 举报

阿豪 | 2021-6-17 16:52:08 | 显示全部楼层
这套视频很不错!!!!
回复

使用道具 举报

dghgs | 2021-7-1 22:30:20 | 显示全部楼层
广告位,,坐下看看
回复

使用道具 举报

萧 民 | 2021-7-4 07:02:48 来自手机 | 显示全部楼层
前排支持下了哦~
回复

使用道具 举报

冰雪紫旋 | 2021-9-18 09:39:41 | 显示全部楼层
加油站加油
回复

使用道具 举报

狗狗汪汪 | 2021-11-5 07:06:31 | 显示全部楼层
支持一下,天天来这学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则