将Python字典写入CSV



希望你能帮助我。

有一个嵌套的像这样的字典:

Inventory = {'devicename': {'Interface1': {'port_setting1': 'value', 'port_setting2': 'value'}, 'Interface2': {'port_setting1': 'value', 'port_setting2': 'value'}}}

我想用下面的格式创建一个csv文件:

devicename, interface1, value of port_setting1, value of portsetting2
devicename, interface2, value of port_setting1, value of portsetting2

你能帮我怎么处理这个吗?

谢谢!

可以将字典导入到pandas数据框架中。然后可以将其导出为不包含列名的csv,以实现所需的功能。

下面的代码片段可以做到这一点:
import pandas as pd
df = pd.DataFrame.from_dict({(i,j): Inventory[i][j] 
for i in Inventory.keys() 
for j in Inventory[i].keys()},
orient='index')
df.to_csv('test.csv', header = False)

这是您的test.csv对于您在问题中显示的称为Inventory的字典的样子:

devicename,Interface1,value,value
devicename,Interface2,value,value

可以遍历文件中的dictprint:

with open(filename.csv, 'w') as fh:
for k, v in Inventory.items():
for k1, v1 in v.items():
print(k, k1, *v1.values(), file=fh, sep=', ')

或在综合式中:

with open(filename.csv, 'w') as fh:
print(*(', '.join((k, k1, *v1.values())) 
for k, v in Inventory.items() 
for k1, v1 in v.items()), 
file=fh, sep='n'
)

输出:

devicename, Interface1, value, value
devicename, Interface2, value, value

相关内容

  • 没有找到相关文章

最新更新