I have a dictionary with 2000 items which looks like this:
d = {'10071353': (0, 0), '06030011': (6, 0), '06030016': (2, 10), ...}
Given that I want to write it to an .xlsx
file, I use this code (taken from here):
import xlsxwriter
workbook = xlsxwriter.Workbook('myfile.xlsx')
worksheet = workbook.add_worksheet()
row = 0
col = 0
order=sorted(d.keys())
for key in order:
row += 1
worksheet.write(row, col, key)
for item in d[key]:
worksheet.write(row, col + 1, item)
row += 1
workbook.close()
This produces an .xlsx
file with the following alignment:
A B
06030001 0
10
06030002 10
10
06030003 5
10
However, this is the alignment I am after:
A B C
06030001 0 10
06030002 10 10
06030003 5 10
What should I change in the script to achieve this?
This is what I think should help:
import xlsxwriter
workbook = xlsxwriter.Workbook('myfile.xlsx')
worksheet = workbook.add_worksheet()
row = 0
col = 0
order=sorted(d.keys())
for key in order:
row += 1
worksheet.write(row, col, key)
i =1
for item in d[key]:
worksheet.write(row, col + i, item)
i += 1
workbook.close()
IN:
d={'10071353':(0, 0),'06030011':(6, 0),'06030016':(2, 10)
OUT:
A B C
06030001 6 0
06030002 2 10
06030003 0 0