Python xlsxwriter:使用for循环从多个列表中写入

问题描述 投票:1回答:1

我正在尝试学习Python并在使用带有多个列表的xlsxwriter模块写入excel文件时遇到问题。

我有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和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个值,也将能够重复此过程:)! (所有列表将始终包含相同数量的值)

基本上,从这四个列表中:

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公式进行匹配:)!

Expected excel file generated image

感谢您的帮助:)!

我正在尝试学习Python并在使用xlsxwriter模块使用多个列表写入excel文件时遇到问题。我有4个列表,所有列表的长度都相同(每个列表中有5个项目...

python list for-loop xlsxwriter
1个回答
1
投票

至少有两种方法将列表写入Excel文件。

© www.soinside.com 2019 - 2024. All rights reserved.