2017-03-06 49 views
0

我刮的信息,我把它存储在多个列表:如何将多个列表保存为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 

回答

0

使用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') 
0

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) 
相关问题