Ошибка записи данных из Dataframe в таблицу Excel с использованием xlsxwriter - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть фрейм данных, который я пытаюсь записать в таблицу Excel с помощью модуля xlsxwriter.

Ниже приведен пример того, как выглядит мой фрейм данных:

prod_id,prod_name,price,units
prod_a,apple,100,10
prod_b,mango,10,123
prod_c,orange,12,14

Я пытаюсьзапишите приведенный выше Dataframe для Excel, как показано ниже:

# Pulling data for the sheet
row = 1
col = 0

# Iterate through the array you have and unpack the tuple at each index
for elm1, elm2, elm3, elm4 in df:
    worksheet.write(row, col, elm1, number_format)
    worksheet.write(row, col + 1, elm2, number_format)
    worksheet.write(row, col + 2, elm3, number_format)
    worksheet.write(row, col + 3, elm4, number_format)
    row += 1

Выдает ошибку

for elm1, elm2, elm3, elm4 in df:
ValueError: too many values to unpack (expected 4)

1 Ответ

0 голосов
/ 11 декабря 2018

Ошибка в том, что вы перебираете df с несколькими переменными.Вместо этого вам следует использовать только одну переменную.

Если я правильно понимаю, вы можете настроить цикл таким образом:

for row in df.itertuples():
    elm1,elm2,elm3,elm4 = row[1], row[2], row[3], row[4]
    worksheet.write(row, col, elm1, number_format)
    worksheet.write(row, col + 1, elm2, number_format)
    worksheet.write(row, col + 2, elm3, number_format)
    worksheet.write(row, col + 3, elm4, number_format)
    row += 1

Это должно сработать.

...