dump a multi dimensional dictionary

Prasad, Ramit ramit.prasad at jpmorgan.com
Fri Jul 26 22:40:54 CEST 2013


cerr wrote:
> Hi,
> 
> Can I somehow use pickle.dump() to store a dictionary of lists to a file?
> I tried this:
> 
>     >>> import pickle
>     >>> mylist = []
>     >>> mydict = {}
>     >>> mylist = '1','2'
>     >>> mydict['3'] = mylist
>     >>> fhg = open ("test", 'w')
>     >>> pickle.dump(fhg,mydict)
>     Traceback (most recent call last):
>       File "<stdin>", line 1, in <module>
>       File "/usr/lib/python2.7/pickle.py", line 1370, in dump
>         Pickler(file, protocol).dump(obj)
>       File "/usr/lib/python2.7/pickle.py", line 203, in __init__
>         self.write = file.write
>     AttributeError: 'dict' object has no attribute 'write'
>     >>> print mydict
>     {'3': ('1', '2')}
> 
> or should I just write my own dump function that can hanle thiS?
> 
> Please advise!
> 
> Thanks,
> Ron

I think you have the parameters for dump backwards.

According to API http://docs.python.org/2/library/pickle.html#pickle.dump
the format is: pickle.dump(obj, file, protocol=None)

Which means you need to use: pickle.dump(mydict, fhg)


Ramit



This email is confidential and subject to important disclaimers and conditions including on offers for the purchase or sale of securities, accuracy and completeness of information, viruses, confidentiality, legal privilege, and legal entity disclaimers, available at http://www.jpmorgan.com/pages/disclosures/email.  



More information about the Python-list mailing list