Python:在多张Excel工作表上打印输出

Python:在多张Excel工作表上打印输出,python,excel,xlsxwriter,Python,Excel,Xlsxwriter,我有4个列表,每个列表有33个值,希望在excel中打印组合。Excel将每张工作表中的行数限制为1048576,并且组合数超过工作表限制的值137345 如何在同一工作簿的下一页中继续打印结果? a = [100, 101, 102,...,133] b = [250, 251, 252,...,283] c = [300, 301, 302,...,333] d = [430, 431, 432,...,463] list_combined = [(p,q,r,s) for p in

我有4个列表,每个列表有33个值,希望在excel中打印组合。Excel将每张工作表中的行数限制为1048576,并且组合数超过工作表限制的值137345

如何在同一工作簿的下一页中继续打印结果?

a = [100, 101, 102,...,133]
b = [250, 251, 252,...,283]
c = [300, 301, 302,...,333]
d = [430, 431, 432,...,463]

list_combined = [(p,q,r,s)   for p in a 
                             for q in b 
                             for r in c 
                             for s in d]

import xlsxwriter

workbook = xlsxwriter.Workbook('combined.xlsx')

worksheet = workbook.add_worksheet()

for row, group in enumerate(list_combined):
    for col in range(5):
        worksheet.write (row, col, group[col])
workbook.close()

首先,Python调用需要将括号放在名称后面。不允许使用空格:

worksheet.write(行、列、组[col])
工作表。写入(行、列、组[col])

其次,要写入多张工作表,您需要执行以下操作: 从


我建议你首先寻找问题的答案,以避免重复答案。如果一次寻找它们都不能解决你的问题,那么你可以去问它,并告诉它你的问题与其他问题中发现的问题有什么不同。

你可以设置一个上限,一旦达到上限,就切换到新的工作表

以下是一个低于Excel支持的测试限制的示例:

import xlsxwriter

workbook = xlsxwriter.Workbook('test.xlsx')
worksheet = workbook.add_worksheet()

# Simulate a big list
biglist = range(1, 1001)

# Set max_row to your required limit. Zero indexed.
max_row = 100
row_num = 0

for data in biglist:

    # If we hit the upper limit then create and switch to a new worksheet
    # and reset the row counter.
    if row_num == max_row:
        worksheet = workbook.add_worksheet()
        row_num = 0

    worksheet.write(row_num, 0, data)
    row_num += 1

workbook.close()
输出:


当您的意思是“将列表打印到excel”时,您的意思是将数据写入excel文件,对吗?您可能会重复提到4个您不使用的列表,然后引用名为
list1
的变量,因此不显示其定义。你没有遗漏什么吗?请看:@J.C.Rocamonde我希望将列表中导出的结果打印到excel。我希望在excel中获得列表的结果。你问“我应该如何在同一工作簿的下一页中继续打印?”示例显示了如何打印。只需将
biglist
替换为您的列表,将
max\u行
替换为Excel max-1即可。
for piece in iterable_data_set:
    # consider "piece" a piece of data you want to put into each sheet
    # `piece` must be an nxm matrix that contains dumpable data.
    worksheet = workbook.add_worksheet()
    for i in range(len(piece)):
        for j in range(len(piece[i])):
            worksheet.write(i, j, piece[i][j])
import xlsxwriter

workbook = xlsxwriter.Workbook('test.xlsx')
worksheet = workbook.add_worksheet()

# Simulate a big list
biglist = range(1, 1001)

# Set max_row to your required limit. Zero indexed.
max_row = 100
row_num = 0

for data in biglist:

    # If we hit the upper limit then create and switch to a new worksheet
    # and reset the row counter.
    if row_num == max_row:
        worksheet = workbook.add_worksheet()
        row_num = 0

    worksheet.write(row_num, 0, data)
    row_num += 1

workbook.close()