我正在运行此代码[不言自明]:
import csv
word_list = ["Hello1;;;;World1", "Hello2;;;;World2"]
with open('words.csv', 'w') as new_file:
csv_writer = csv.writer(new_file, delimiter=',')
for line in word_list:
csv_writer.writerow(line.split(';;;;')[0] + "\t" + line.split(';;;;')[1])
我期望 csv 为:
Hello1, ,World1
Hello2, ,World2
我得到:
H,e,l,l,o,1, ,W,o,r,l,d,1
H,e,l,l,o,2, ,W,o,r,l,d,2
错误是什么?
最佳答案
writerow
需要一个可迭代的。在您的代码中,这是由
line.split(';;;;')[0] + "\t" + line.split(';;;;')[1]
该字符串被迭代,其中的每个项目(=每个字符)都被放入一个单元格中。
尝试
csv_writer.writerow([line.split(';;;;')[0], "\t", line.split(';;;;')[1]])
关于python - CSV 写入错误 - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51378065/