怎么将 csv 文件转化为下图的 json ?

2018-06-21 22:33:00 +08:00
 LeCent

4500 次点击
所在节点    Python
17 条回复
glacer
2018-06-21 23:25:31 +08:00
自己写规则转
LeCent
2018-06-21 23:27:53 +08:00
@glacer : )
IceCola1
2018-06-22 00:08:08 +08:00
哈哈哈,面试题,我有源代码,当时写了很久
IceCola1
2018-06-22 00:08:30 +08:00
要不要老哥帮帮你?
LeCent
2018-06-22 00:17:01 +08:00
@IceCola1 要的要的
imn1
2018-06-22 01:19:23 +08:00
lizon
2018-06-22 03:07:07 +08:00
一开始用 golang 写,发现太蛋疼了,这种灵活的格式还是动态语言方便
https://trinket.io/python/3b6f1679d2
你也可以选择不补数据,在转换的期间再搜索缺失的 key 值
lizon
2018-06-22 03:24:34 +08:00
lizon
2018-06-22 03:48:00 +08:00
再改一次,大晚上脑子不清醒 https://trinket.io/python/dc0a87c0e3
wweir
2018-06-22 06:27:02 +08:00
写过一个干这事儿的库。
难点不是转换,是保证 json 结构能对的上 csv,或者对不上的部分可以丢弃
blueset
2018-06-22 07:37:39 +08:00
假设输入合法,写了一个极其简陋的做法

https://ideone.com/69YPy4
blless
2018-06-22 08:19:10 +08:00
@lizon go 我记得也不难 写个 struct 打上 json csv 的 tag,然后用 csv 反序列化 json 序列化就好
mmqc
2018-06-22 08:41:20 +08:00
lizon
2018-06-22 09:09:41 +08:00
@blless 这是个动态结构,你用 golang 试试呢,我没找到方便的做法。[]map[string][]interface{}深入到内部节点还得断言,就没继续写了
araraloren
2018-06-22 09:34:49 +08:00
。。。LZ 的 json 还多写了一行,害我研究一大会!
holmesabc
2018-06-22 09:40:05 +08:00
咋一看,没懂规则是个啥。。。

不过 简单点,先转成个树(结点), 再把树序列化成 json
IceCola1
2018-06-22 10:50:59 +08:00
https://github.com/Colaplusice/Homework 我的数据集要比你的多一些,也能找出一些不太好找的 bug.顺便推销一波 github,里面都是干货哦。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/464859

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX