Python 使用 openpyxl 进行循环
Python for loop using openpyxl
我正在使用 openpyxl 包制作一个简单的工具,该工具将用于获取 excel 大型电子表格的输入并制作更小的更有用的电子表格。我已经尝试使用许多不同类型的循环来实现这个逻辑,但我仍然无法让它工作。 objective 是找到任何值为 1 的单元格,并将其旁边的单元格直接复制到新工作簿中。这是我的代码:
# for loop data logic
data = default['Default']
n = 1
for i in range(0,1000):
for j in range(0,0):
ds = data.cell(row = i, column = j)
if ds == 1:
n = n + 1
ds.cell(row = i, column = 0).value = separated.cell(row = n, column = 0).value
注意:我输入的数据有许多单元格的第一列中的数值为 1。这是此循环正在测试的一列。我一直在用一个简单的打印命令测试代码:
print(separated['A2'].value)
通过打印 "None." 再次显示单元格中没有现值,我已经为这个逻辑尝试了两个或三个不同的 for 循环,虽然它们都有 运行 没有错误,none 似乎更改了 "separated" 工作表中的任何值。任何和所有的帮助表示赞赏。
代码中有几处错误。内循环永远不会 运行 因为 range(0, 0)
是空的。此外,openpyxl 使用 1-indexing:A1 == cell(row=1, column=1)
所以 ws.cell(row=0, column=0)
如果执行过会引发异常。
但是,您可能应该只使用 ws.get_squared_range(min_col, min_row, max_col, max_row)
来获取要查看的单元格的生成器。
我想你可以像这样扫描,扫描值或文本。
示例:
for col in sheet['A1:B100']:
for cell in col:
if cell.value == '1':
print("Lo halle")
然后您继续复制新工作簿中的信息。
祝你好运
我正在使用 openpyxl 包制作一个简单的工具,该工具将用于获取 excel 大型电子表格的输入并制作更小的更有用的电子表格。我已经尝试使用许多不同类型的循环来实现这个逻辑,但我仍然无法让它工作。 objective 是找到任何值为 1 的单元格,并将其旁边的单元格直接复制到新工作簿中。这是我的代码:
# for loop data logic
data = default['Default']
n = 1
for i in range(0,1000):
for j in range(0,0):
ds = data.cell(row = i, column = j)
if ds == 1:
n = n + 1
ds.cell(row = i, column = 0).value = separated.cell(row = n, column = 0).value
注意:我输入的数据有许多单元格的第一列中的数值为 1。这是此循环正在测试的一列。我一直在用一个简单的打印命令测试代码:
print(separated['A2'].value)
通过打印 "None." 再次显示单元格中没有现值,我已经为这个逻辑尝试了两个或三个不同的 for 循环,虽然它们都有 运行 没有错误,none 似乎更改了 "separated" 工作表中的任何值。任何和所有的帮助表示赞赏。
代码中有几处错误。内循环永远不会 运行 因为 range(0, 0)
是空的。此外,openpyxl 使用 1-indexing:A1 == cell(row=1, column=1)
所以 ws.cell(row=0, column=0)
如果执行过会引发异常。
但是,您可能应该只使用 ws.get_squared_range(min_col, min_row, max_col, max_row)
来获取要查看的单元格的生成器。
我想你可以像这样扫描,扫描值或文本。 示例:
for col in sheet['A1:B100']:
for cell in col:
if cell.value == '1':
print("Lo halle")
然后您继续复制新工作簿中的信息。
祝你好运