首页 > 解决方案 > 从 python 到 csvfile 上的列的列表

问题描述

亲爱的社区,我一直在尝试将我在 python 中的列表导出到 csv 文件中。我正在使用的代码是这个:

example = ['country1', 'country3', 'country2', 'country5', 'country4']
example2 = ['dest1', 'dest3', 'dest2', 'dest5', 'dest4'] 


csvFile = open('test.csv','w+', newline='')

try:
    writer = csv.writer(csvFile)
    writer.writerow(('number', 'number plus 2', 'number times 2'))
    writer.writerows(example)

finally:
    csvFile.close()

所以,当我看到结果时,我会得到这样的结果:

number,number plus 2,number times 2
c,o,u,n,t,r,y,1
c,o,u,n,t,r,y,3
c,o,u,n,t,r,y,2
c,o,u,n,t,r,y,5
c,o,u,n,t,r,y,4
d,e,s,t,1
d,e,s,t,3
d,e,s,t,2
d,e,s,t,5
d,e,s,t,4

我真正想要的是将“example”列表放在“number”标题和“example2”列表下方,将“number plus”标题放在其他列表中,依此类推。

那么,是否可以在不使用逗号的情况下使其“逐行”和“逐列”?在这种情况下,我该怎么做?

谢谢你!:D

标签: pythoncsv

解决方案


这可能是你想要的:

example = ['country1', 'country3', 'country2', 'country5', 'country4']
example2 = ['dest1', 'dest3', 'dest2', 'dest5', 'dest4'] 
example3 = list(range(5))

try:
    writer = csv.writer(csvFile)
    writer.writerow(('number', 'number plus 2', 'number times 2'))
    for row in zip(example, example2, example3):
        writer.writerow(row)

finally:
    csvFile.close()

输出:

number,number plus 2,number times 2
country1,dest1,0
country3,dest3,1
country2,dest2,2
country5,dest5,3
country4,dest4,4

推荐阅读