How to dump a dictionary into an .xlsx file with proper column alignment?
<p>I have a dictionary with 2000 items which looks like this:</p>

<pre><code>d = {'10071353': (0, 0), '06030011': (6, 0), '06030016': (2, 10), ...}
</code></pre>

<p>Given that I want to write it to an <code>.xlsx</code> file, I use this code (taken from <a href="http://stackoverflow.com/questions/23113231/python-write-dictionary-values-in-an-excel-file?answertab=active#tab-top">here</a>):</p>

<pre><code>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()
</code></pre>

<p>This produces an <code>.xlsx</code> file with the following alignment:</p>

<pre class="lang-none prettyprint-override"><code>    A           B
    06030001    0
                10

    06030002    10
                10

    06030003    5
                10
</code></pre>

<p>However, this is the alignment I am after:</p>

<pre class="lang-none prettyprint-override"><code>A           B    C
06030001    0    10

06030002    10   10

06030003    5    10
</code></pre>

<p><strong>What should I change in the script to achieve this?</strong></p>

<p>This is what I think should help:</p>

<pre><code>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
</code></pre>

python excel dictionary xlsxwriter