如何以此格式将此列表字典写入csv文件

问题描述 投票:0回答:3

我想使用csv将这个列表字典写成这种格式的csv文件:

Ola, elizabethy, beale/cambray,st_hildas
Evie, st_hildas,beale/cambray,elizabethn
Lorna,   beale/cambray,elizabethn,st_hildas

这样我最终可以将它写入excel文件,如下所示:

Ola     elizabethy      beale/cambray    st_hildas
Evie    st_hildas       beale/cambray    elizabethn
Lorna   beale/cambray   elizabethn       st_hildas

这是它在python中的样子。

students = {"Ola":["elizabethy","beale/cambray","st_hildas"],"Evie":["st_hildas","beale/cambray","elizabethn"],"Lorna":["beale/cambray","elizabethn","st_hildas"],"Morgan":["st_hildas","beale/cambray","elizabethy"],"Ola1":["beale/cambray","elizabethn","st_hildas"],"Lorna1":["elizabethn","beale/cambray","st_hildas"],"Lorna2":["beale/cambray","elizabethn","st_hildas"],"Evie1":["st_hildas","beale/cambray","elizabethy"],"Evie3":["st_hildas","beale/cambray","elizabethn"]}

python python-3.x csv dictionary
3个回答
0
投票
import pandas as pd
d = {"Ola":["elizabethy","beale/cambray","st_hildas"],"Evie":["st_hildas","beale/cambray","elizabethn"],"Lorna":["beale/cambray","elizabethn","st_hildas"],"Morgan":["st_hildas","beale/cambray","elizabethy"],"Ola1":["beale/cambray","elizabethn","st_hildas"],"Lorna1":["elizabethn","beale/cambray","st_hildas"],"Lorna2":["beale/cambray","elizabethn","st_hildas"],"Evie1":["st_hildas","beale/cambray","elizabethy"],"Evie3":["st_hildas","beale/cambray","elizabethn"]}

df = pd.DataFrame.from_dict(d)
df.T.to_csv("test.csv")

0
投票
import csv
students = {"Ola":["elizabethy","beale/cambray","st_hildas"],"Evie":["st_hildas","beale/cambray","elizabethn"],"Lorna":["beale/cambray","elizabethn","st_hildas"],"Morgan":["st_hildas","beale/cambray","elizabethy"],"Ola1":["beale/cambray","elizabethn","st_hildas"],"Lorna1":["elizabethn","beale/cambray","st_hildas"],"Lorna2":["beale/cambray","elizabethn","st_hildas"],"Evie1":["st_hildas","beale/cambray","elizabethy"],"Evie3":["st_hildas","beale/cambray","elizabethn"]}
mylist=[[k]+v for k,v in students.items()]
with open("mylist.csv", 'w', newline='') as myfile:
     wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)
     wr.writerows(mylist)

0
投票

写入CSV(不导入任何库)

students = {
    "Ola":["elizabethy","beale/cambray","st_hildas"],
    "Evie":["st_hildas","beale/cambray","elizabethn"],
    "Lorna":["beale/cambray","elizabethn","st_hildas"],
    "Morgan":["st_hildas","beale/cambray","elizabethy"],
    "Ola1":["beale/cambray","elizabethn","st_hildas"],
    "Lorna1":["elizabethn","beale/cambray","st_hildas"],
    "Lorna2":["beale/cambray","elizabethn","st_hildas"],
    "Evie1":["st_hildas","beale/cambray","elizabethy"],
    "Evie3":["st_hildas","beale/cambray","elizabethn"]}

with open('test.csv', 'w') as f:
    for key in students.keys():
        f.write("%s, %s\n"%(key,','.join(students[key])))

要将CSV读回字典:

students1 = dict()
with open('test.csv', 'r') as f:
    for line in f:
       key, value = line.strip().split(', ')
       students1[key] = value.split(',')
© www.soinside.com 2019 - 2024. All rights reserved.