15

I have a dictionary with multiple values for each key. I add the values using the following code:

d.setdefault(key, []).append(values)

The key value correspondence looks like this:

a -el1,el2,el3
b -el1,el2
c -el1

I need to loop thru the dictionary and write in an excel file:

Column 1  Column 2
a         el1
          el2
          el3
b         el1
          el2
c         el1

For writing in the excel file I use xlsxwriter. I need help looping separately thru the dictionary, because after writing the key and I don't need to write it again until I finish all the corresponding values.

martineau
  • 112,593
  • 23
  • 157
  • 280
user3541631
  • 3,466
  • 7
  • 44
  • 93

1 Answers1

39

It seems like you want something like this:

import xlsxwriter

workbook = xlsxwriter.Workbook('data.xlsx')
worksheet = workbook.add_worksheet()

d = {'a':['e1','e2','e3'], 'b':['e1','e2'], 'c':['e1']}
row = 0
col = 0

for key in d.keys():
    row += 1
    worksheet.write(row, col, key)
    for item in d[key]:
        worksheet.write(row, col + 1, item)
        row += 1

workbook.close()
Maximilian Peters
  • 27,890
  • 12
  • 74
  • 90
carlosdc
  • 11,848
  • 4
  • 41
  • 62