我试图让python读取字典,然后以某种方式修改它(添加/删除内容),然后将其保存到另一个文件中。
我正在使用的词典是
kundenDict = {
'Kunde1': {
'Datum11':{'ArtikelNo111':['Bezeichnung111', 'Farbe111', 'Kollektion111'],
'ArtikelNo112':['Bezeichnung112', 'Farbe112', 'Kollektion112']},
'Datum12':{'ArtikelNo121':['Bezeichnung121', 'Farbe121', 'Kollektion121'],
'ArtikelNo122':['Bezeichnung122', 'Farbe122', 'Kollektion122']},
},
'Kunde2': {
'Datum21':{'ArtikelNo211':['Bezeichnung211', 'Farbe211', 'Kollektion211'],
'ArtikelNo212':['Bezeichnung212', 'Farbe212', 'Kollektion212']},
'Datum22':{'ArtikelNo221':['Bezeichnung221', 'Farbe221', 'Kollektion221'],
'ArtikelNo222':['Bezeichnung222', 'Farbe222', 'Kollektion222']},
},
'Kunde3': {
'Datum31':{'ArtikelNo311':['Bezeichnung311', 'Farbe311', 'Kollektion311'],
'ArtikelNo312':['Bezeichnung312', 'Farbe312', 'Kollektion312']},
'Datum32':{'ArtikelNo321':['Bezeichnung321', 'Farbe321', 'Kollektion321'],
'ArtikelNo322':['Bezeichnung322', 'Farbe322', 'Kollektion322']},
},
}
我开始使用:
def pretty(d, indent=0):
for key, value in d.iteritems():
print '\t' * indent + str(key) + ": {"
if isinstance(value, dict):
pretty(value, indent+1)
else:
print '\t' * (indent+1) + str(value)
在我意识到这不会给我相同的输出之前。
非常感谢任何帮助。
答案 0 :(得分:0)
我能够使用以下代码使其工作:
from pprint import pprint
masterDict = {Some nested dictionary}
f=open('masterDict.py','w')
f.write( 'masterDict = {\n')
def pretty(masterDict, indent=1):
for key, value in masterDict.iteritems():
f.write(' ' * indent + "'" + str(key) + "'" + ': {\n')
if isinstance(value, dict):
pretty(value, indent+1)
else:
f.write(' ' * (indent+1) + str(value) + '}\n')
f.write(' ' * (indent+2) + '}\n')
pretty(masterDict)
f.close()