gpt4 book ai didi

Python 使用 writerow 将两个具有不同值类型的字典写入单个 csv 文件

转载 作者:行者123 更新时间:2023-11-30 22:45:41 27 4
gpt4 key购买 nike

我有两个类似于以下示例的词典:

# First dictionary
dict_names = {}
dict_names[1] = 'Jane'
dict_names[2] = 'Alex'
dict_names[3] = 'Max'

# Second dictionary
dict_numList = {}
dict_numList[1] = [i for i in range(50)]
dict_numList[2] = [2*i for i in range(50)]
dict_numList[3] = [i*i for i in range(50)]

我想写入csv文件,其中每行都包含公共(public)键(使用Excel打开时在其第一列中)、第一个字典中的字符串值(在其第二列中)、列表值中的每个元素第二个字典(从第三列一直到第 52 列)。

我尝试了下面的代码,但它会将整个数字列表写入第三列。

with open('out.csv', 'wb') as csvfile:
csvwriter = csv.writer(csvfile, delimiter = ',')
for key, val in dict_names.iteritems():
csvwriter.writerow([key, val, [dict_numList[key][i] for i in range(0,50)]])

任何帮助将不胜感激!谢谢

解决方案:给出答案,我使用了下面的代码

with open('out.csv', 'wb') as csvfile:
csvwriter = csv.writer(csvfile, delimiter = ',')
for key, val in dict_names.iteritems():
csvwriter.writerow([key, val] + dict_numList[key])

最佳答案

如果您的理解是多余的,但暂时保留它,那么以下方法就足够了:

for key, val in dict_names.iteritems():
row = [key, val]
row.extend(dict_numList[key][i] for i in range(0,50))
csvwriter.writerow(row)

真的,我相信您只需要:

for key, val in dict_names.iteritems():
row = [key, val]
row.extend(dict_numList[key])
csvwriter.writerow(row)

关于Python 使用 writerow 将两个具有不同值类型的字典写入单个 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41132464/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com