它有3个类C1,C2 and C3
,其中C1
是主要类,这里只有Cars
一个类,但可以是多个。 C2
是C1
的类别,C3
是C1
的子类别。有什么方法可以将这些数据转换为一些易于读取的格式,例如nested dictionaries
,以便使用for
循环迭代这些类?我尝试使用以下方法进行转换:
from xlrd import open_workbook
auto_cars=[]
def parse_xlsx():
workbook = open_workbook('C:/Users/Downloads/TAXONOMY.xlsx')
sheets = workbook.sheet_names()
active_sheet = workbook.sheet_by_name(sheets[1])
num_rows = active_sheet.nrows
num_cols = active_sheet.ncols
header = [active_sheet.cell_value(0, cell).lower() for cell in range(num_cols)]
for row_idx in range(1, num_rows):
row_cell = [active_sheet.cell_value(row_idx, col_idx) for col_idx in range(num_cols)]
yield dict(zip(header, row_cell))
for row in parse_xlsx():
auto_cars.append(row)
哪个给出令人困惑的输出:
[{'c1': 'Cars ', 'c2': 'Class', 'c3': 'muv'},
{'c1': '', 'c2': '', 'c3': 'hatchback'},
{'c1': '', 'c2': '', 'c3': 'suv'},
{'c1': '', 'c2': '', 'c3': 'sedan'},
{'c1': '', 'c2': '', 'c3': 'coupe'},
{'c1': '', 'c2': '', 'c3': 'convertible'},
{'c1': '', 'c2': 'Fuel Type', 'c3': 'electric'},
{'c1': '', 'c2': '', 'c3': 'diesel'},
{'c1': '', 'c2': '', 'c3': 'cng'},
{'c1': '', 'c2': '', 'c3': 'petrol'},
{'c1': '', 'c2': '', 'c3': 'lpg'},
{'c1': '', 'c2': '', 'c3': 'hybrid'},
{'c1': '', 'c2': 'Brand', 'c3': 'ashok leyland'},
{'c1': '', 'c2': '', 'c3': 'audi'},
{'c1': '', 'c2': '', 'c3': 'bmw'},
{'c1': '', 'c2': '', 'c3': 'bentley'}
..................................
.................................