我有三个列表,即名称、艺术家和专辑。我想创建一个 csv,使每个元素的第一个元素在一行中,然后下一个元素在其他元素中,依此类推。例如。names = ['Tell Me It's Okay', 'Cry', Oblivion']
albums = ['Tell Me It's Okay', 'Cry', 'Oblivion']
artists = ['Fell', 'Gryffin', 'Alex']我希望 csv 中的输出为告诉我没关系,告诉我没关系,跌倒哭吧,哭吧,格兰芬遗忘,遗忘,亚历克斯
2 回答
holdtom
TA贡献1805条经验 获得超10个赞
您可以将这些列表压缩在一起以使其工作。是这样的:
names = ['Tell Me It\'s Okay', 'Cry', 'Oblivion']
albums = ['Tell Me It\'s Okay', 'Cry', 'Oblivion']
artists = ['Fell', 'Gryffin', 'Alex']
data = [','.join(record) for record in zip(names, albums, artists)]
with open('output.csv','w') as f:
f.write('\n'.join(data))
汪汪一只猫
TA贡献1898条经验 获得超8个赞
您的列表包含无效字符串。如果字符串中有单引号 ('),则需要用双引号 (") 将字符串括起来。
你可以试试:
with open("xxx.csv", 'w') as fp:
fp.write("header1,header2")
for lst in [list1, list2, list3]:
fp.write(','.join(fp))
第二行输入每行的标题,您可以根据需要进行编辑。list1、list2 和 list3 是您拥有的列表。xxx 应替换为您想要的 csv 文件名称
添加回答
举报
0/150
提交
取消