AttributeError:'元组"对象没有属性' value'

时间:2017-04-23 18:58:06

标签: python openpyxl

我想从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 ++)。我不知道我的循环在代码中是否是最新的。有谁可以帮助我?

3 个答案:

答案 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'错误。