python - 使用 Openpyxl 在 Excel 中创建 3 个表
问题描述
我正在尝试在一个 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)
推荐阅读
- javascript - 我可以在 UseEffect 中获取 .env 变量的值吗?
- python - 如何在扑克游戏中选择python中连续数字序列中的最大数字
- javascript - 将参数从异步函数传递到另一个文件
- avaloniaui - 如何设置窗口标题属性?
- sql-server - 使用 SSIS 的 Excel 电子表格中没有唯一列的 SQL Server 表
- javascript - 深度多分支树递归javascript函数未保留父引用
- c# - 未找到 Microsoft WCF Web 服务参考提供程序扩展
- xamarin.forms - 在 Xamarin [Android] 上的 Azure Map 中更新位置时 Pin 闪烁
- django - 忘记密码 Django - password_reset(自定义用户模型)
- regex - 谷歌数据工作室中的正则表达式提取