我正在尝试将字典列表转换为 lambda 函数的 csv 字符串。 我在下面编写的代码将数据作为键值。我正在尝试重写它,以便它基于 dict_keys 工作。
import io
import csv
output = io.StringIO()
csvdata = [{"fruit": "apple", "count": "1", "color": "red"},{"fruit": "banana", "count": "2", "color": "yellow"}]
writer = csv.writer(output, quoting=csv.QUOTE_NONNUMERIC)
for i in csvdata:
for key, value in i.items():
writer.writerow([key, value])
convertedtocsv = output.getvalue()
输出:'"fruit","apple"\r\n"count","1"\r\n"color","red"\r\n"fruit","banana"\r\n “计数”,“2”\r\n“颜色”,“黄色”\r\n'
fruit apple
count 1
color red
fruit banana
count 2
color yellow
我想要以下格式的数据
fruit count color
apple 1 red
banana 2 yellow
我知道这可以在 pandas 中使用 .to_csv 方法实现。但我只是想在没有 Pandas 或任何第 3 方库的情况下尝试一下。
任何帮助表示赞赏。谢谢!
最佳答案
csv.DictWriter
csv
模块提供了一个 DictWriter
类,它最适合我们处理记录,即需要写入 csv 文件的字典列表
fields = ['fruit', 'count', 'color']
writer = csv.DictWriter(output, fieldnames=fields, delimiter='\t')
writer.writeheader()
writer.writerows(csvdata)
print(output.getvalue())
fruit count color
apple 1 red
banana 2 yellow
关于python - 使用 dict_keys 将字典列表转换为 CSV 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61466934/