一键将 JSON 数组转为 Excel 表格 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
xeaglex

一键将 JSON 数组转为 Excel 表格

  •  
  •   xeaglex
    eaglexiang 2023 年 6 月 22 日 3024 次点击
    这是一个创建于 1038 天前的主题,其中的信息可能已经有所发展或是发生改变。

    日常工作中常常会有临时导出数据的需求,几乎所有数据源都可以很方便地导出数据为 JSON 格式,例如:

    [ { "ID":0, "Name":"Lucy", "Age":17, "Granted":true },{ "ID":1, "Name":"Lily", "Age":20, "Granted":false } ] 

    但要将这 JSON 转成 Excel 表格,不写脚本还挺麻烦的。虽然脚本写起来很简单,写的次数多了也就烦了,所以干脆 Release 成一个通用的工具:github.com/eaglexiang/json2excel ,基于 Go 开发,提供 Release 下载。

    举个例子,上面的数据通过以下命令

    json2excel --if src.json --of dst.xlsx 

    就可以一键转化成以下 Excel 文件

    image

    14 条回复    2023-06-27 10:17:45 +08:00
    Felix96
        1
    Felix96  
       2023 年 6 月 23 日 via iPhone
    蛮好的,提个建议,这个参数上敲起来有点长,如果是 json2excel src.json 这样会不会更好,生成同名于同目录的 xlsx 。我工作写的网页应用实现过同样的需求过,前端的轮子很多,既然我都需要转 excel 了,运行环境上也应该有浏览器,在线转换也蛮多的,我个人可能用不上。
    discrete
        2
    discrete  
       2023 年 6 月 23 日   5
    额,你知不知道 Python 里就两行

    ```
    import pandas as pd
    pd.DataFrame(json_dict).to_excel("output.xls")
    ```
    twofox
        3
    twofox  
       2023 年 6 月 24 日
    一般来说,如果需要导出临时数据。我会直接选择 sql 查询完之后,用 navicat 或者 plsql developer 直接导出=.=
    faketemp
        4
    faketemp  
       2023 年 6 月 24 日
    看你描述发现不止一两个人有 json 数据提取的需求,也曾经尝试在 V 站问过无果( t/883757)
    受你鼓舞也用 Golang 造个轮子不知有没有用,Json2Csv 工具( t/951253)
    kylebing
        5
    kylebing  
       2023 年 6 月 25 日
    一个可以查看 json 数组数据的网站: https://kylebing.cn/tools/json-table
    faketemp
        6
    faketemp  
       2023 年 6 月 25 日 via iPhone
    @kylebing 随便试了一个 json 就报错了
    TypeError: undefined is not a function (near '...this.data.forEach...')
    kylebing
        7
    kylebing  
       2023 年 6 月 25 日
    @faketemp #6 只支持显示数组数据
    supersadmin
        8
    supersadmin  
       2023 年 6 月 25 日
    faketemp
        9
    faketemp  
       2023 年 6 月 26 日
    已升级兼容处理数据区域非数组结构而是一个对象的情况,如
    {"part":1,"data":{"items":{"1":{"title":"one","name":"test1"},"2":{"title":"two","name":"test2"},{"3":{"title":"three","name":"test3"}}}}

    这种结构遇到过多次但在线网站和各种工具均不支持解析提取,干脆自己也尝试兼容了
    Json2Csv -k data.items test.json 即可提取全部"title/name"
    HashV2
        10
    HashV2  
       2023 年 6 月 26 日
    这种轮子太多了
    haoxuexiaoyao
        11
    haoxuexiaoyao  
       2023 年 6 月 26 日
    结构复杂岁 json 如何生成 Excel 呢
    getcodex
        12
    getcodex  
       2023 年 6 月 26 日
    但是往往都不是这种简单的表格,可能是复杂的,需要进行合并的,这种能处理吗
    musi
        13
    musi  
       2023 年 6 月 26 日
    pandas 不够简单嘛?
    简单的我用 pd 直接导出就可以
    复杂点的我用 pd 处理后再导出也可以
    9yue
        14
    9yue  
       2023 年 6 月 27 日
    造轮子 Json2Csv, JS HTMl 自带 UI 版本 ( t/951793)
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2677 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 49ms UTC 07:14 PVG 15:14 LAX 00:14 JFK 03:14
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86