【发布时间】:2018-06-26 13:21:48
【问题描述】:
我是python新手,正在努力学习。
我正在使用下面的代码来读取 excel 电子表格,但出现以下错误。 谁能帮我解决这个问题?或者代码有什么问题。
import openpyxl
import os
if not os.path.isfile('C:\Python\Python36\EBC_N_Bhatt_Anilkumar _Team - 06132018.xlsx'):
raise Exception('File does not exist.')
wb = openpyxl.load_workbook('C:\Python\Python36\EBC_N_Bhatt_Anilkumar _Team - 06132018.xlsx')
sheet_ind = 0
sheet_names = wb.get_sheet_names()
sheet = wb.get_sheet_by_name(sheet_names[sheet_ind])
r = sheet.max_row
c = sheet.max_column
start_row = 0
for i in range(start_row, r):
cur_row = list(sheet.rows[i])
print(cur_row)
"C:\Users\KVenkataraja\PycharmProjects\Python 教程\venv\Scripts\python.exe" “C:/Users/KVenkataraja/PycharmProjects/Python 教程/readexel.py” C:/Users/KVenkataraja/PycharmProjects/Python 教程/readexel.py:9: DeprecationWarning:调用已弃用的函数 get_sheet_names(使用 wb.sheetnames)。 sheet_names = wb.get_sheet_names() C:/Users/KVenkataraja/PycharmProjects/Python 教程/readexel.py:10: DeprecationWarning:调用已弃用的函数 get_sheet_by_name(使用 wb[工作表名称])。 sheet = wb.get_sheet_by_name(sheet_names[sheet_ind]) Traceback(最近一次通话最后一次):文件 "C:/Users/KVenkataraja/PycharmProjects/Python 教程/readexel.py", 第 18 行,在 cur_row = list(sheet.rows[i])
TypeError: 'generator' 对象不可下标
进程以退出代码 1 结束
【问题讨论】:
-
sheet.rows是一个生成器,你不能像这样要求ith 行。你的意思是list(sheet.rows)[i]?
标签: python-3.x