Thu*_*tne 3 python csv dictionary
我知道我可以直接写一个字典列表到CSV文件.同样,有没有直接的方法将字典列表列表写入python中的csv文件,而无需手动迭代每一行?
样本数据
[[{'e': 46, 'p': 100, 'n': 0, 'a': 100, ...},
{'e': 29, 'p': 40, 'n': 1, 'a': 40, ...}, ...],
[{...}, ...]
Run Code Online (Sandbox Code Playgroud)
预期的格式
e,p,n,a,....
46,100,0,100,....
29,40,1,40,...
.......
Run Code Online (Sandbox Code Playgroud)
请注意,这不是字典列表,而是字典列表的列表
如果没有Pandas,您可以使用itertools.chain获取所有词典的扁平列表,然后将其写入CSV文件csv.DictWriter:
import csv
from itertools import chain
data = [
[{'e': 46, 'p': 100, 'n': 0, 'a': 100},
{'e': 29, 'p': 40, 'n': 1, 'a': 40}],
[{'e': 56, 'p': 200, 'n': 23, 'a': 10},
{'e': 22, 'p': 41, 'n': 11, 'a': 420}]]
fieldnames = ['e', 'p', 'n', 'a']
with open('mydata.csv', 'w') as f:
writer = csv.DictWriter(f, fieldnames=fieldnames)
writer.writeheader()
writer.writerows(chain.from_iterable(data))
Run Code Online (Sandbox Code Playgroud)
输出(mydata.csv)
e,p,n,a
46,100,0,100
29,40,1,40
56,200,23,10
22,41,11,420
Run Code Online (Sandbox Code Playgroud)