csv 的字典列表。一行中的每个列表

list of dictionaries to csv. Each list in a row

我是数据框的新手。

我有一个字典列表,是从 python 脚本中得到的:

result = [{'Name':'J','age':'5','address':'California'},
 {'Name':'Q', 'age':'10','address':'newYork'}
]

我希望这个输出在一个 csv 文件中,其中列名是 "info" 并且每个字典都在一行中。

知道如何获得这样的 csv 文件吗:

    info
    {'Name':'J','age':'5','address':'California'}
    {'Name':'Q', 'age':'10','address':'newYork'}

这是来自 the docs 的编辑示例,假设所有词典都具有完全相同的键:

import csv

with open('names.csv', 'w', newline='') as csvfile:
    writer = csv.DictWriter(csvfile, fieldnames=result[0].keys())

    writer.writeheader()
    for r in result:
        writer.writerow(r)

在这里,您只是将 JSON 字符串写入文本文件。就去做吧:

import json

with out = open(filename, 'w', newline='\r\n'):    # CSV end of line
    print('info', file=out)
    for js in resul:
        print(json.dumps(js), file=out)

如果您正在使用 pandas,您可以运行以下内容:

 import pandas as pd
 pd.DataFrame({"info": result}).to_csv("something.csv", index=False)