我当前加载的文件如下所示:
import ndjson
with open('full_simplified_arm.ndjson') as f:
data = ndjson.load(f)但是,我想用Python将这个文件转换为csv,并想知道如何做到这一点?谢谢
发布于 2020-11-25 10:18:13
你可以用csv.DictWriter做到这一点。
使用ndjson.load加载数据时,数据存储在此表单中。
[{'id': 1, 'name': 'Alice'}, {'id': 2, 'name': 'Bob'}, {'id': 3, 'name': 'Carol'}]您可以将列表中第一项中的键作为表的字段名。
fields = data[0].keys()然后定义一个csv.DictWriter来写入标题和行。
writer = csv.DictWriter(f, fieldnames=fields)
writer.writeheader()
for item in data:
writer.writerow(item)完整的解决方案:
import csv
import ndjson
with open('./users.ndjson', 'r') as f:
data = ndjson.load(f)
with open('./users.csv', 'w', newline='') as f:
# I'm assuming that each item has the same keys
fields = data[0].keys()
writer = csv.DictWriter(f, fieldnames=fields)
writer.writeheader()
for item in data:
writer.writerow(item)输入
{"id":1,"name":"Alice"}
{"id":2,"name":"Bob"}
{"id":3,"name":"Carol"}输出
id,name
1,Alice
2,Bob
3,Carol注意:示例数据是在online中检索的
https://stackoverflow.com/questions/64997504
复制相似问题