To save time building a large dictionary every time I run my program I googled "saving a python dictionary to file". Of the suggested solutions I liked the option to write to a csv file best. However, the posted code did not work for me because the value in the dictionary was a very big nested list of lists and not a simple string. This was easy to fix by calling eval on the value obtained from the csv reader. Of course I was not the first one to realize this.
Below for completeness my code:
Below for completeness my code:
import csv
def saveDict(fn,dict_rap):
f=open(fn, "wb")
w = csv.writer(f)
for key, val in dict_rap.items():
w.writerow([key, val])
f.close()
def readDict(fn):
f=open(fn,'rb')
dict_rap={}
for key, val in csv.reader(f):
dict_rap[key]=eval(val)
f.close()
return(dict_rap)
No comments:
Post a Comment