这是一种方法:
from xlrd import open_workbookclass Arm(object): def __init__(self, id, dsp_name, dsp_pre, hub_pre, pin_pre, pptl): self.id = id self.dsp_name = dsp_name self.dsp_pre = dsp_pre self.hub_pre = hub_pre self.pin_pre = pin_pre self.pptl = pptl def __str__(self): return("Arm object:n" " Arm_id = {0}n" " DSPName = {1}n" " DSPCode = {2}n" " HubCode = {3}n" " PinCode = {4} n" " PPTL = {5}" .format(self.id, self.dsp_name, self.dsp_pre, self.hub_pre, self.pin_pre, self.pptl))wb = open_workbook('sample.xls')for sheet in wb.sheets(): number_of_rows = sheet.nrows number_of_columns = sheet.ncols items = [] rows = [] for row in range(1, number_of_rows): values = [] for col in range(number_of_columns): value = (sheet.cell(row,col).value) try: value = str(int(value)) except ValueError: pass finally: values.append(value) item = Arm(*values) items.append(item)for item in items: print item print("Accessing one single value (eg. DSPName): {0}".format(item.dsp_name)) print您不必使用自定义类,只需添加一个即可
dict()。但是,如果您使用类,则可以通过点符号访问所有值,如上所示。
这是上面脚本的输出:
Arm object: Arm_id = 1 DSPName = JaVAS DSPCode = 1 HubCode = AGR PinCode = 282001 PPTL = 1Accessing one single value (eg. DSPName): JaVASArm object: Arm_id = 2 DSPName = JaVAS DSPCode = 1 HubCode = AGR PinCode = 282002 PPTL = 3Accessing one single value (eg. DSPName): JaVASArm object: Arm_id = 3 DSPName = JaVAS DSPCode = 1 HubCode = AGR PinCode = 282003 PPTL = 5Accessing one single value (eg. DSPName): JaVAS



