Опитвам се да науча 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-те първи реда (по един ред на елемент от списъците; бих искал първият елемент от всеки списък да е в първия ред и всеки списък да има заглавка със същото име, така че там няма объркване):
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 и prices_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 файл
Благодаря за вашата помощ :) !