gpt4 book ai didi

python - Openpyxl - 如何知道 iter_rows 中的当前行号?

转载 作者:行者123 更新时间:2023-12-04 22:21:43 39 4
gpt4 key购买 nike

for row2 in ws.iter_rows(min_row=row, max_row=linha, min_col=coluna_min, max_col=coluna_max):

if contador_linha == row + 1:
# Escreve no arquivo na 2° linha com #2#
arquivo_resultado.write(f'#2#|{contador_linha}|')
else:
# Escreve no arquivo na 3° linha em diante com #3#
arquivo_resultado.write(f'#3#|{contador_linha}|')

print(str(row2[0].row))
print(str(row2[0].row))

AttributeError:“EmptyCell”对象没有属性“行”

我尝试使用 row[2].row 打印行号,但错误中断了进程...我想知道如何获取 行号 在具有 read_only 模式的 iter_rows 内...

最佳答案

您可以访问 cell.value对于一行中的每个单元格,并将它们与 join() 连接起来

import openpyxl as xl

wb = xl.load_workbook('file.xlsx')
ws = wb.active

for row in ws.iter_rows():
print(','.join([cell.value for cell in row]))

对不起我的误解。
另一种计算行数的方法是:
for i, row2 in enumerate(ws.iter_rows(min_row = row, max_row = linha, min_col = coluna_min, max_col = coluna_max), row):
if i == row + 1:
print('yes')
else:
print('no')

如果你想要你的 excel 表的行号,在枚举中,也使用那里的起始“行”。

enumerates 第二个参数的默认值为 0。如果你想为你的可迭代 ws.iter_rows() 设置一个计数器,你可以这样写:
for i, row2 in enumerate(ws.iter_rows(min_row = row, max_row = linha, min_col = coluna_min, max_col = coluna_max)):
print(i, row2)

但是请记住,您定义了 min_row = row在您的 ws.iter_rows() .由于我不知道您在那里传递了哪个值,因此您不一定会从 Excel 的第 1 行开始。

关于python - Openpyxl - 如何知道 iter_rows 中的当前行号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62354097/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com