Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用Openpyxl在excel中创建3个表_Python_Openpyxl - Fatal编程技术网

Python 使用Openpyxl在excel中创建3个表

Python 使用Openpyxl在excel中创建3个表,python,openpyxl,Python,Openpyxl,我试图在excel文件中创建3个表,但是它们是一个接一个地创建的。我想把它们放在一起。我怀疑append导致了表之间的相互创建。你能帮帮我吗 sh2.append(["Market Sector", "Assets (in GBP)"]) for column in small: sh2.append(column) tab = Table(displayName="Small_Companies", ref="A1&

我试图在excel文件中创建3个表,但是它们是一个接一个地创建的。我想把它们放在一起。我怀疑append导致了表之间的相互创建。你能帮帮我吗

sh2.append(["Market Sector", "Assets (in GBP)"])
for column in small:
    sh2.append(column)
tab = Table(displayName="Small_Companies", ref="A1")

sh2.append(["Market Sector", "Assets (in GBP)"])
for column in medium:
    sh2.append(column)
tab = Table(displayName="Mid_Companies", ref="D1")

sh2.append(["Market Sector", "Assets (in GBP)"])
for column in large:
    sh2.append(column)
tab = Table(displayName="Mid_Companies", ref="G1")

一个简单的解决方案是使用zip组合三个列表并将它们全部附加在一起。我不知道这三个列表是否大小相同,所以我首先将它们附加到相同的长度。另外,您对Table函数的调用也不太正确,ref参数需要一个表的范围。我假设你有5排

max_length = max(max(len(small), len(medium)), len(large))
small += [""] * (max_length - len(small))
medium += [""] * (max_length - len(medium))
large += [""] * (max_length - len(large))
sh2.append(["Market Sector", "Assets (in GBP)","Market Sector", "Assets (in GBP)","Market Sector", "Assets (in GBP)"])
for (c1,c2,c3) in zip(small,medium,large):
    sh2.append(c1+c2+c3)
tab1 = Table(displayName="Small_Companies",ref="A1:C5")
tab2 = Table(displayName="Mid_Companies",ref="D1:F5")
tab3 = Table(displayName="Large_Companies", ref="G1:I5")
sh2.add_table(tab1)
sh2.add_table(tab2)
sh2.add_table(tab3)

您好,我想您的ref应该是这样的:ref=A1:d1您好T0ny 1234,我刚刚尝试了ref=A1:B1,结果相同,表是一个接一个地创建的。请发布一个MCVEAppend,并将内容放在下面。你为什么对此感到惊讶?你好,whilrun,谢谢你,但我不想附加表格。我要求将这3个表保存在excel文件中选择的单元格位置。