I have a dictionary of the following form
>>> {\'1\' : [V3210 , 234567 ,1235675 , 23], \'2\' : [v3214 , 5678 ,65879 ,89} , ...}
how to
Use the builtin csv module. This is assuming you want it in a key,value1,value2,...
format.
import csv
with open('filename', 'w') as f:
c = csv.writer(f)
for key, value in d.items():
c.writerow([key] + value)
Assuming the numeric keys are line numbers, try something like this:
theDict = {'1' : [V3210 , 234567 ,1235675 , 23], '2' : [v3214 , 5678 ,65879 ,89] }
largestkey=max(map(int,theDict.keys()))
with file("out.csv") as f:
for linenum in range(largestkey+1):
f.write(",".join(theDict[str(linenum)])
f.write("\n")
You'll want to look at Python's string API, list handling, and file handling to get more familiar with Python...
Using Python's csv module would make doing this super simple:
import csv
d = {'1' : ['V3210', 234567, 1235675, 23], '2' : ['v3214', 5678, 65879 ,89], }
with open('output.csv', 'wb') as csvfile:
csv.writer(csvfile).writerows([row[0]] + row[1] for row in d.iteritems())
Note the iteritems()
dictionary method is gone in Python 3, so you'd need to use d.items()
instead.