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?
Advertisement
Answer
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