我正在尝试基于行坐标将一系列数据从一张纸复制到另一张纸。
我有一个带有行坐标的列表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]的列表,我想做的就是复制该行...
我注意到您的代码存在的问题是range方法中i
的值。范围方法内的i
与for循环中使用的i
不同。我假设您必须具有i=0
的全局定义,然后不对其进行更新,因此为什么只将第一行复制到下一张表。