如何使用Python将列表元素写入CSV文件的同一行不同列?
解决CSV同一行多列写入问题
嘿,我来帮你搞定这个问题!你现在遇到的麻烦是因为用zip(theList)的方式不对,导致每个元素被单独写成了一行。
问题根源
你用zip(theList)的时候,它会把列表里的每个字符串转换成单元素元组(比如("ABCD",)、("EFGH",)),然后循环调用writerow()时,每个元组只会占据一列,自然就变成了多行内容。
修正后的代码
其实不需要复杂的zip操作,直接把整个列表作为一行传入writerow()就可以了——因为writerow()接受一个可迭代对象,对象里的每个元素会对应CSV的一列:
import csv theList = ["ABCD","EFGH","IJKL","MNOP"] with open("Final.csv", 'w', newline='', encoding="utf8") as f: writer = csv.writer(f, delimiter=',') writer.writerow(theList) # 直接写入整个列表作为一行
效果验证
运行这段代码后,打开Final.csv文件,内容会是:
ABCD,EFGH,IJKL,MNOP
用表格工具打开的话,就会看到四个元素分别在同一行的不同列,完全符合你的需求。
内容的提问来源于stack exchange,提问作者Ronald
相关产品推荐
相关产品推荐

