Я хотел бы добавить данные в электронную таблицу для последующего анализа. Я пробовал несколько разных подходов, использующих циклы for, но они всегда заканчиваются ошибками. Я новичок в python, но я пытаюсь учиться, как я строю. Что мне нужно сделать, это взять словарь dict_items и с помощью ключей вставить данные в существующую таблицу Excel. Однако, если я go элемент за элементом, я получаю только один элемент в строке для некоторых столбцов и больше элементов для других столбцов. Это потому, что в одних ключах больше данных, чем в других. Мне нужно, чтобы набор данных для ключей, имеющих только один элемент, копировал этот один элемент для всех остальных строк до тех пор, пока не будет скопирован последний элемент для ключа с наибольшим количеством элементов. Ниже приведен пример выходных данных, если это поможет понять, что я пытаюсь сделать.
Например, это словарь и один из циклов for, которые я пробовал:
dict_items = {'most items':['1','2','3','4','5'], 'some items':['item1','item2','item3','item4','item5'], 'one item': 'banana'}
import xlsxwriter
workbook = xlsxwriter.Workbook('data.xlsx')
worksheet = workbook.add_worksheet()
row = 0
col = 0
dict_items = {'most items':['1','2','3','4','5'], 'some items':['item','item','item','item','item'], 'one item': 'banana'}
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
Это работает для добавления данных в электронную таблицу, но не для обеспечения того, чтобы данные были равномерными по каждой строке.
Электронная таблица должна выглядеть примерно так, если данные введены правильно:
| most items | some items | one item |
| 1 | item1 | banana |
| 2 | item2 | banana |
| 3 | item3 | banana |
| 4 | item4 | banana |
| 5 | item5 | banana |
Надеюсь, выходной пример даст вам лучшее представление о том, что я пытаюсь сделать.