python迭代逻辑:在OpenPyXl中的200组中迭代列表



我无法将逻辑包裹在我的头上。有人可以建议解决方案吗?

我有一个excel文件,其中有10000个项目,在Worksheet0的A行中我想迭代行,但以200人为单位。这是我的干算法,我似乎无法将其放入代码中:

  1. 读取一个excel文件,worksheet0作为源

  2. 使用OpenPyxl,Worksheet1

  3. 创建一个空的Excel工作表
  4. iTereate在a源工作表A列中的第一个200个字符串项目中,来自源工作表0

a。strip()每个字符串项目b。在工作表1 Columna中保存"剥离"新字符串,Row1:Row200

  1. 创建一个新的空工作表,工作表2
  2. 在Worksheet0 Row201:400的下一个200个字符串项目中迭代A。条()b。保存在工作表中2

重复此新工作表的创建,在此新工作表中为每组200

保存并保存

我只是无法将算法迭代200组,每个新组创建一个新的工作表文件。谁能帮助算法?

# rowMax is the last row in columnA aka the length of my list to iterate over
for count in range(1, int(rowMax/200)):
    _=wb.create_sheet(str(count))
    for row in range(count*2, 200*count):
        targetEmail = str(ws1.cell(column=1, row=row).value).strip()
        sourceEmail = str(ws1.cell(column=1, row=row).value)
        if targetEmail != sourceEmail:
            print("Correction required for: ", sourceEmail, "nChanged to: ", targetEmail)
        _.cell(column=1, row=row).value = targetEmail 

上述不起作用。我只是把它放在那儿,所以您了解我创建一个新工作表的每200个项目,然后在该新工作表中保存下来的200个项目,然后重复每个200个项目块

的过程。

这个问题太广泛。您需要提供更多的代码,并更具体地解决要解决的问题。

类似以下内容应该帮助您开始。

colA = ws1['A']
for idx, cell in colA:
    if not idx % 200:
        ws2 = wb.create_sheet()
    ws2.append(cell.value.strip())

最新更新