我抓取了信息,并将其存储在多个列表中:
list1 = [item1, item2,item3...]
list2 = [i1,i2,i3...]
list3 = [it1,it2,it3..]
如何编写将其保存为CSV文件的代码,以便在Excel中下载时看起来如下所示?
Column 1 Column 2 Column 3
item1 i1 it1
item2 i2 it2
答案 0 :(得分:1)
使用csv:
import csv
list1 = ['1','2','3']
list2 = ['4','5','6']
with open('file.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(list1)
writer.writerow(list2)
这会将列表的内容写入csv的每一行。如果你想要标题名称和索引列,我也不清楚。根据您遇到的实际问题,可能更容易使用pandas,它将为您提供第一列中行的名称以及列名称:
import pandas as pd
list1 = ['1','2','3']
list2 = ['4','5','6']
df = pd.DataFrame({'list1': list1,
'list2': list2})
df.transpose().to_csv('file.csv')
答案 1 :(得分:0)
Python的zip
内置函数将N个迭代器作为输入(如N列表),并返回一个迭代器,每次迭代器产生每个迭代器中的第一个项 - 并且可以在声明。
最终效果是它会转换一组列表,就像你需要的那样:
import csv
# define lists:
...
with open("output.csv", "wt") as file:
writer = csv.writer(file)
writer.writerow(["column1", column2", ...]
for row in zip(list1, list2, list3,...):
writer.writerow(row)