Я пытаюсь изучить Python и столкнулся с проблемой записи в файл excel с помощью модуля xlsxwriter с использованием нескольких списков.
У меня есть 4 списка, и все списки имеют одинаковую длину (5 элементов в каждом списке).
Я без проблем создаю свой файл excel, лист и заголовки файла excel:
listing = xlsxwriter.Workbook(path_report + "/Listing.xlsx")
worksheet = listing.add_worksheet("Listing")
worksheet.write(0, 0, "files_list_database")
worksheet.write(0, 1, "totals_list_database")
worksheet.write(0, 2, "files_list_csv")
worksheet.write(0, 3, "prices_list_csv")
worksheet.write(0, 4, "match")
И вот часть, где я изо всех сил пытаюсь заполнить 5 первых строк (по одной строке на элемент списков; я хотел бы, чтобы 1-й элемент каждого списка находился в первой строке, и каждый список имел свой заголовок с тем же именем, чтобы было нет путаницы):
row = 0
for files_list_database, totals_list_database, files_list_csv, prices_list_csv in files_list_database:
worksheet.write(row + 1, 0, files_list_database[row])
worksheet.write(row + 1, 1, totals_list_database[row])
worksheet.write(row + 1, 2, files_list_csv[row])
worksheet.write(row + 1, 3, prices_list_csv[row])
row = row + 1
files_list_database, totals_list_database, files_list_csv и price_list_csv — мои 4 списка, каждый из которых содержит 5 элементов.
Вот сообщение об ошибке:
--> for files_list_database, totals_list_database, files_list_csv, prices_list_csv in files_list_database:
worksheet.write(row + 1, 0, files_list_database[row])
worksheet.write(row + 1, 1, totals_list_database[row])
ValueError: too many values to unpack (expected 4)
Я не понимаю, что означает «ValueError: слишком много значений для распаковки (ожидается 4)», компьютер должен ожидать 5 значений, так как в каждом из моих списков по 5 значений? Я предполагаю, что это происходит из базы данных «in files_list_database», которая записывается дважды в одной строке, но я не могу понять, как указать, сколько раз я хочу, чтобы компьютер перебирал списки...
Цель состоит в том, чтобы иметь возможность повторить эту процедуру, даже если списки содержат по 1000 значений каждый :) ! (Все списки всегда будут содержать одинаковое количество значений)
В основном, из этих 4 списков:
files_list_database = ['2020_04_20_1.csv', '2020_04_20_2.csv', '2020_04_20_3.csv', '2020_04_20_4.csv', '2020_04_20_5.csv']
totals_list_database = [1000, 2000, 3000, 4000, 5000]
files_list_csv = ['2020_04_20_1.csv', '2020_04_20_2.csv', '2020_04_20_3.csv', '2020_04_20_4.csv', '2020_04_20_5.csv']
prices_list_csv = ['1000', '2000', '3000', '4000', '50000']
Я хотел бы заполнить свой файл Excel, а затем выполнить сопоставление с простой формулой Excel :)!
Ожидаемое изображение, сгенерированное файлом Excel
Спасибо за вашу помощь :) !