首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Python中将ndjson文件转换为csv文件?

如何在Python中将ndjson文件转换为csv文件?
EN

Stack Overflow用户
提问于 2020-11-25 10:02:08
回答 1查看 232关注 0票数 1

我当前加载的文件如下所示:

代码语言:javascript
复制
import ndjson

with open('full_simplified_arm.ndjson') as f:
    data = ndjson.load(f)

但是,我想用Python将这个文件转换为csv,并想知道如何做到这一点?谢谢

EN

回答 1

Stack Overflow用户

发布于 2020-11-25 10:18:13

你可以用csv.DictWriter做到这一点。

使用ndjson.load加载数据时,数据存储在此表单中。

代码语言:javascript
复制
[{'id': 1, 'name': 'Alice'}, {'id': 2, 'name': 'Bob'}, {'id': 3, 'name': 'Carol'}]

您可以将列表中第一项中的键作为表的字段名。

代码语言:javascript
复制
fields = data[0].keys()

然后定义一个csv.DictWriter来写入标题和行。

代码语言:javascript
复制
writer = csv.DictWriter(f, fieldnames=fields)
writer.writeheader()
for item in data:
    writer.writerow(item)

完整的解决方案:

代码语言:javascript
复制
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)

输入

代码语言:javascript
复制
{"id":1,"name":"Alice"}
{"id":2,"name":"Bob"}
{"id":3,"name":"Carol"}

输出

代码语言:javascript
复制
id,name
1,Alice
2,Bob
3,Carol

注意:示例数据是在online中检索的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64997504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档