【发布时间】:2019-01-23 22:38:25
【问题描述】:
我有一个要写入 CSV 文件的字典。但是,dict中的某些键有一个值列表,我想将列表的每个元素水平写入一个单独的单元格中。
data = {"Age": 28, "Name": "Some Name", "Aliases": ["alias1", "alias2"]}
fieldnames = ['Age', 'Name', 'Aliases']
with open(f, 'a') as o:
writer = csv.DictWriter(o, fieldnames=fieldnames)
writer.writeheader()
writer.writerow(data)
别名在预期的单个单元格中以数组形式写入。我将列表转换为逗号分隔的字符串data["Aliases"] = ', '.join(data['Aliases']),但这个逗号分隔的字符串也被写入同一个单元格。
关于如何将列表中的每个元素写入单独的单元格的任何想法。
【问题讨论】:
-
当您加入列表时,您正在创建写入单个单元格的单个字符串参数。与其使用
DictWriter,不如读取每个字典值并在它不是列表时将其写入,然后在找到列表项时对其进行处理。