我有一个由多个列表组成的列表,可以在csv中导出
export_list = [['abc'],['1','2','3','4','5'],['m','n','o']]
我尝试使用csv
导出列表outfile = open("./out.csv","wb")
writer = csv.writer(outfile)
writer.writerows(export_list)
但是输出来自下面显示的每个元素:
abc | | | | |
1 |2 |3 | 4 | 5 |
m |n |o | | |
但我想将其格式化为像这样存储
list1 | list2 | list3 |
abc | 1 2 3 4 5 | m n o |
实现这一目标的正确方法是什么? 注意:我使用的是Python 2.7
答案 0 :(得分:0)
添加delimiter关键字
outfile = open("./out.csv","wb")
writer = csv.writer(outfile, delimiter=',')
writer.writerows(export_list)
另外,升级到python 3
这个确切的代码对我有用
import csv
export_list = [['abc'],['1','2','3','4','5'],['m','n','o']]
with open('test.csv','w',newline='') as cfile:
cwrite=csv.writer(cfile,delimiter=',')
cwrite.writerows(export_list)
test.csv
就像这样
abc
1,2,3,4,5
m,n,o
答案 1 :(得分:0)
csv
将子列表中的每个元素视为自己的列;要避免这种情况,请使用' '
:
import csv
export_list = [['abc'],['1','2','3','4','5'],['m','n','o']]
with open('filename.csv', 'w') as f:
write = csv.writer(f)
write.writerows([[' '.join(i) for i in export_list]])
答案 2 :(得分:0)
所以我试图在相应的列中插入列表的所有值。
第一个答案是工作,但它填充了行中的数据。所以下面的代码帮助了我
cars = ['audi','bugati', 'mustang']
car_cell = ' '.join(cars)
bikes = ['bmw','ktm','ninja']
bike_cell = ' '.join(bikes)
with open('./output.csv', "w") as f:
writer = csv.writer(f)
writer.writerow(['List1','List2'])
writer.writerow([car_cell, bike_cell])
这会以我预期的格式识别表格
join
帮助将列表的所有元素连接到单个元素,writerow
为每列编写一个列表。