我有三个列表,我想创建一个 csv 文件

我有三个列表,即名称、艺术家和专辑。我想创建一个 csv,使每个元素的第一个元素在一行中,然后下一个元素在其他元素中,依此类推。

例如。

names = ['Tell Me It's Okay', 'Cry', Oblivion']
albums = ['Tell Me It's Okay', 'Cry', 'Oblivion']
artists = ['Fell', 'Gryffin', 'Alex']

我希望 csv 中的输出为

告诉我没关系,告诉我没关系,跌倒

哭吧,哭吧,格兰芬

遗忘,遗忘,亚历克斯


沧海一幻觉
浏览 136回答 2
2回答

holdtom

您可以将这些列表压缩在一起以使其工作。是这样的: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))

汪汪一只猫

您的列表包含无效字符串。如果字符串中有单引号 ('),则需要用双引号 (") 将字符串括起来。你可以试试: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 文件名称
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python