16

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
  • 119,623
  • 25
  • 170
  • 301
user3541631
  • 3,686
  • 8
  • 48
  • 115

1 Answers1

41

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
  • 30,348
  • 12
  • 86
  • 99
carlosdc
  • 12,022
  • 4
  • 45
  • 62