我想从Excel工作表中检索特定的单元格值,这是我的代码。
import openpyxl
file=openpyxl.load_workbook('C:/Users/epeeham/Desktop/xsdi-auto/Test-XSDI.xlsx')
sheet=file.get_sheet_by_name('ExportList')
row_count=sheet.max_row;
for x in range(2, row_count):
title=sheet['Ax'].value
ed=sheet['Bx'].value
if "P" in ed:
edi=ed[1:]
edi1, edi2, edi3=edi.partition('-')
edition=edi1
else:
edi1, edi2, edi3=ed.partition('-')
edition=edi1
n=sheet['Fx'].value
number=n[:15]
print(title + " " + edition + " " + number)
我收到以下错误。 AttributeError:'元组"对象没有属性'值'。我不太了解python中的循环。在C中,我们可以像(i = 2; i< = row_count; i ++)。我不知道我的循环在代码中是否是最新的。有谁可以帮助我?
答案 0 :(得分:0)
问题似乎与你正在做的sheet['Ax']
有关。您将无法以这种方式使用x
。
尝试修改代码中的索引,如下所示。
title=sheet['A' + str(x)].value
答案 1 :(得分:0)
以上解决方案不适用于我的情况。我最终使用了以下内容:
title=sheet.cell(row=x, column=1).value
答案 2 :(得分:0)
我遇到了另一个导致此错误的问题。我的代码试图获取第零行中的一个单元格的值(我将循环的行跑得太远了)。
行0不存在(工作表从第1行开始),因此出现AttributeError: 'tuple' object has no attribute 'value'
错误。