日常工作中常常会有临时导出数据的需求,几乎所有数据源都可以很方便地导出数据为 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 文件
1
Felix96 2023-06-23 02:00:08 +08:00 via iPhone
蛮好的,提个建议,这个参数上敲起来有点长,如果是 json2excel src.json 这样会不会更好,生成同名于同目录的 xlsx 。我工作写的网页应用实现过同样的需求过,前端的轮子很多,既然我都需要转 excel 了,运行环境上也应该有浏览器,在线转换也蛮多的,我个人可能用不上。
|
2
discrete 2023-06-23 03:28:35 +08:00 5
额,你知不知道 Python 里就两行
``` import pandas as pd pd.DataFrame(json_dict).to_excel("output.xls") ``` |
3
twofox 2023-06-24 14:06:57 +08:00
一般来说,如果需要导出临时数据。我会直接选择 sql 查询完之后,用 navicat 或者 plsql developer 直接导出=.=
|
4
faketemp 2023-06-24 19:12:14 +08:00
看你描述发现不止一两个人有 json 数据提取的需求,也曾经尝试在 V 站问过无果( https://www.v2ex.com/t/883757)
受你鼓舞也用 Golang 造个轮子不知有没有用,Json2Csv 工具( https://www.v2ex.com/t/951253) |
5
kylebing 2023-06-25 08:55:18 +08:00
一个可以查看 json 数组数据的网站: https://kylebing.cn/tools/json-table
|
6
faketemp 2023-06-25 09:06:51 +08:00 via iPhone
@kylebing 随便试了一个 json 就报错了
TypeError: undefined is not a function (near '...this.data.forEach...') |
8
supersadmin 2023-06-25 11:46:17 +08:00
|
9
faketemp 2023-06-26 06:45:09 +08:00
已升级兼容处理数据区域非数组结构而是一个对象的情况,如
{"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" |
10
HashV2 2023-06-26 09:46:38 +08:00
这种轮子太多了
|
11
haoxuexiaoyao 2023-06-26 09:55:03 +08:00
结构复杂岁 json 如何生成 Excel 呢
|
12
yuanchao 2023-06-26 10:58:16 +08:00
但是往往都不是这种简单的表格,可能是复杂的,需要进行合并的,这种能处理吗
|
13
musi 2023-06-26 11:07:24 +08:00
pandas 不够简单嘛?
简单的我用 pd 直接导出就可以 复杂点的我用 pd 处理后再导出也可以 |
14
9yue 2023-06-27 10:17:45 +08:00
造轮子 Json2Csv, JS HTMl 自带 UI 版本 ( https://www.v2ex.com/t/951793)
|