【问题标题】:How do you convert an ndjson file to a csv file in Python?如何在 Python 中将 ndjson 文件转换为 csv 文件?
【发布时间】:2021-03-07 21:14:38
【问题描述】:

我目前的文件加载如下:

import ndjson

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

但是,我想在 Python 中将此文件转换为 csv,并且想知道如何执行此操作?谢谢

【问题讨论】:

    标签: python csv file-conversion ndjson


    【解决方案1】:

    你可以用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

    【讨论】:

      猜你喜欢
      • 2020-11-23
      • 2023-03-30
      • 2019-02-16
      • 2019-04-28
      • 2020-11-03
      • 2017-07-20
      • 1970-01-01
      • 2020-03-01
      • 1970-01-01
      相关资源
      最近更新 更多