我有三個列表,即名稱、藝術家和專輯。我想創建一個 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
提交
取消