【发布时间】:2018-12-14 23:03:55
【问题描述】:
我有一个大的 csv 文件(大约 1GB),我想通过以下方式将其转换为 json 文件:
csv 文件的结构如下:
标头:tid;inkey;outkey;value
价值观:
tid1;inkey1;outkey1;value1
tid1;inkey2;outkey2;value2
tid2;inkey2;outkey3;value2
tid2;inkey4;outkey3;value2
等等
想法是将这个csv转换为具有以下结构的json,基本上是按“tid”对所有内容进行分组:
{
"tid1": {
"inkeys":["inkey1", "inkey2"],
"outkeys":["outkey1", "outkey2"]
}
}
我可以想象如何处理普通的 python 字典和列表,但我的问题也是我必须处理的大量数据。我想 pandas 可以在这里提供帮助,但我仍然对这个工具很困惑。
【问题讨论】:
-
1gb 不是很大。你真的遇到过性能问题吗?对我来说,这听起来不像是熊猫的工作。
-
到目前为止你尝试了什么?你在一个小的 csv 上写了一些代码吗?我们可以帮助您优化代码/了解您的错误,但您必须自己动手!
-
提示:尝试在python字典中创建相同的结构,应该是一个简单的任务。
-
tid值是否“分组” - 即您能否确定一旦您在文件中从tid1转到tid2,就不会再出现tid1方式?如果是这种情况,您可以逐行读取文件,编写一个字典,并在tid更改后附加到 JSON。
标签: python json pandas csv dictionary