これが私のコードです。これを使用してExcelシートを開き、各行を文字列のリストとして返します(各セルは文字列です)。このクラスは、ファイル内の行と同じ数のリストで満たされた1つのリストを返します。したがって、50行は50個のリストを返します。
from xlrd import open_workbook
class ExcelReadLines(object):
def __init__(self,path_to_file):
'''Accepts the Excel File'''
self.path_to_file = path_to_file
self.__work__()
def __work__(self):
self.full_file_as_read_lines = []
self.book = open_workbook(self.path_to_file)
self.sheet = self.book.sheet_by_index(0)
for row_index in range(self.sheet.nrows):
single_read_lines = []
for col_index in range(self.sheet.ncols):
cell_value_as_string = str(self.sheet.cell(row_index,col_index).value)
cell_value_stripped = cell_value_as_string.strip('u')
single_read_lines.append(cell_value_stripped)
self.full_file_as_read_lines.append(single_read_lines)
return self.full_file_as_read_lines
しかし、私が実行すると:
for x in ExcelReader('excel_sheet'): print x
エラーメッセージが表示されます:
class is not iterable