为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

沧海一幻觉 2023-05-09 16:04:48
我有三个列表,即名称、艺术家和专辑。我想创建一个 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))


查看完整回答
反对 回复 2023-05-09
?
汪汪一只猫

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 文件名称


查看完整回答
反对 回复 2023-05-09
  • 2 回答
  • 0 关注
  • 135 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信