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)
我是数据框的新手。
我有一个字典列表,是从 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)