我的数据结构如下:

data  =[
{'key_1': { 'calc1': 42, 'calc2': 3.142 } },
{'key_2': { 'calc1': 123.4, 'calc2': 1.414 } },
{'key_3': { 'calc1': 2.718, 'calc2': 0.577 } }
]

I want to be able to save/and load the data into a CSV file with the following format
key,    calc1,   calc2   <- header
key_1,  42,      3.142   <- data rows
key_2,  123.4,   1.414
key_3,  2.718,   0.577

最佳答案

我不认为使用csv模块是可能的,因为您的需求和结构中有所有的特性,但是您可以很容易地手动编写它:

>>> with open('test.txt', 'w') as f:
    f.write(','.join(['key', 'calc1', 'calc2']) + '\n')
    f.writelines('{},{},{}'.format(k, *v.values()) + '\n' for l in data for k,v in l.items())

关于python - 在CSV文件中读取/写入嵌套字典列表(Python),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3195982/

10-11 23:23