如何将不同长度列表的字典写入csv?

2024-10-01 07:51:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我想将以下python字典中不同长度的列表编写为csv

dic = {'a': ['ACI', 'BBY', 'AMRX'], 'b': ['ABM', 'AG']}

预期产出为:

expected out put


Tags: csv列表字典agdicabmacibby
3条回答

只需在dict的值上循环并将其写入文件。
不需要外部库

dic = {'a': ['ACI', 'BBY', 'AMRX'], 'b': ['ABM', 'AG']}
with open('out.csv', 'w') as f:
    for key, values in dic.items():
        f.write(key + ',' + ','.join(values) + '\n')

out.csv

a,ACI,BBY,AMRX
b,ABM,AG

使用csv模块:

# convert your dict to a list
lst = [[k] + v for k, v in dic.items()]

# write all rows at once
with open('test.csv', 'w') as csvfile:
    writer = csv.writer(csvfile, delimiter=',')
    writer.writerows(lst)
>>> %cat 'test.csv'
a,ACI,BBY,AMRX
b,ABM,AG
import pandas as pd
dic = {'a': ['ACI', 'BBY', 'AMRX'], 'b': ['ABM', 'AG']} 
df = pd.DataFrame.from_dict(dic, orient='index') #Convert dict to df
print(df)
df.to_csv("final.csv",header=False) #Convert df to csv

相关问题 更多 >