如何使用Openpyxl将数据范围从excel工作表复制到另一个工作表

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

我正在尝试基于行坐标将一系列数据从一张纸复制到另一张纸。

我有一个带有行坐标的列表tbrow = [1, 34, 52, 75, 101]

我想从以下位置复制行范围:

从工作表0到工作表1的1到34,>

从工作表0到工作表2,从34到52

从工作表0到工作表3的52到75,

从工作表0到工作表4的75到101。

到目前为止我尝试过的是:

-获取主表0

sheet0 = wb["Sheet"]

然后我将工作表存储在变量中,而忽略第一张工作表

sheets = wb.worksheets[1:]

最后,我尝试复制给定的值。

for i in range(tbrow[i],tbrow[i]+1) for j in range(1,sheet0.max_column+1): for k in sheets: k.cell(row=i, column=j).value = sheet0.cell(row=i, column=j).value

问题是,我仅将第一行复制到其余工作表,而不是整个范围。 (1-34; 34-52,依此类推)我想念什么?

有人可以帮我在这里组织逻辑吗?或提供解决方案?

谢谢!

我正在尝试基于行坐标将一系列数据从一张纸复制到另一张纸。我有一个行坐标为tbrow = [1,34,52,75,101]的列表,我想做的就是复制该行...

python excel openpyxl
1个回答
0
投票

我注意到您的代码存在的问题是range方法中i的值。范围方法内的i与for循环中使用的i不同。我假设您必须具有i=0的全局定义,然后不对其进行更新,因此为什么只将第一行复制到下一张表。

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