2017-09-22 79 views
0

我刚启动Python!将Python的列表或词典写入CSV文件(包含多个列的行)

我想创建一个CSV文件,我有一本字典,我想打印它的每个成员在同一行的自己的列中。

就像我有一个字典数组,并且我希望每一行代表其中的一行,并且每行的每一列代表一个内部项目。

import csv 


"... we are going to create an array of dictionaries and print them all..." 

st_dic = [] 

true = 1 

while true: 
    dummy = input("Please Enter name, email, mobile, university, major") 
    x = dummy.split(",") 

    if "Stop" in x: 
     break 

    dict ={"Name":x[0],"Email":x[1],"Mobile":x[2],"University":x[3],"Major":x[4]} 
    st_dic.append(dict) 

f2 = open("data.csv" , "w") 

with open("data.csv", "r+") as f: 
    writer = csv.writer(f) 
    for item in st_dic: 
     writer.writerow([item["Name"], item["Email"], item["Mobile"] , item["University"] , item["Major"]]) 
    f.close() 

的事情,我现在输出是包含在第一库中的数据行,我只是希望他们分隔,每一个在其行内自己的列。

回答

0

令人惊讶的是,这里有太多的问题,试图填写while循环中的一些数据和input()命令。公平地说,这不是蟒蛇最好的用例。

想象一下,你刚刚填写您的代码字典:

dict1 = {'name': "Kain", 'email': '[email protected]'} 
dict2 = {'name': "Abel", 'email': '[email protected]'} 
dict_list = [dict1, dict2] 

之后,你可以导出到轻松CSV:

注有许多questiona约csv模块SO 为以及有examples in documentation