我刮的信息,我把它存储在多个列表:如何将多个列表保存为Python中的多列?
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
我刮的信息,我把它存储在多个列表:如何将多个列表保存为Python中的多列?
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
使用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的每一行。目前还不清楚你是否需要标题名称和索引列。根据您所遇到的实际问题,也可能是更容易,只需使用大熊猫,这将给你行的名字在第一列以及列名:
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')
Python的zip
内置是一个以N个迭代器作为输入的函数(比如你的N个列表),并返回一个迭代器,每次迭代器都会产生第一个迭代器,并且可以在for语句中使用。
最终效果是,它调换了一组列表,就像你所需要的:
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)