猿问

我们如何将包含列表的 dict 导出为 csv 文件中的值

假设这是输入格式...


    {'ID':[1,2,3,4,5,6,7,8,9,10],

     'Name':['A','B','C','D','E','F','G'],

     Flag:['True'],

     City:'',


}

我想在 python 的 csv 文件中导出这些数据,如下所示


ID   Name  Flag  City

1      A   True   ''

2      B          ''

3      c     

4      D

5      E

等等...我们该怎么做..?提前感谢 PF:我从 django 模型中获取输入格式


POPMUISE
浏览 80回答 3
3回答

喵喵时光机

首先,您必须确保字典值中的所有列表都具有相同的长度。任何其他情况都是不好的做法。假设是这种情况,例如d = {'ID':[1,2,3,4,5,6,7], 'Name':['A','B','C','D','E','F','G'], 'Flag':[True, False, False, False, False, False, False], 'City':['']*7,}现在您可以构建一个数据框import pandas as pddf = pd.DataFrame.from_dict(d)并将其转换为 CSVdf.to_csv('/tmp/test.csv', index=False)

德玛西亚99

如果您不是像您提到的那样严格寻找 csv,并且可以在其中包含NaNs,请尝试使用pandas.import pandas as pdd = {    "ID": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],    "Name": ["A", "B", "C", "D", "E", "F", "G"],    "Flag": ["True"],    "City": "",}df = pd.DataFrame(dict([(k, pd.Series(v)) for k, v in d.items()]))df.to_csv("1.csv",index=False)这会用 填充不可用的元素NaN。输出:   ID Name  Flag City0   1    A  True     1   2    B   NaN  NaN2   3    C   NaN  NaN3   4    D   NaN  NaN4   5    E   NaN  NaN5   6    F   NaN  NaN6   7    G   NaN  NaN7   8  NaN   NaN  NaN8   9  NaN   NaN  NaN9  10  NaN   NaN  NaN

幕布斯6054654

import csvcolumns = list(dict.keys())try:    with open(output_file, 'w') as csvfile:        writer = csv.DictWriter(csvfile, fieldnames=columns)        writer.writeheader()        for data in dict:            writer.writerow(data)except IOError:    print("I/O error")
随时随地看视频慕课网APP

相关分类

Python
我要回答