姬長信(Redy)

在Python中读取Excel文件


我有一个Excel文件
Arm_id      DSPName        DSPCode          HubCode          PinCode    PPTL
1            JaVAS            01              AGR             282001    1,2
2            JaVAS            01              AGR             282002    3,4
3            JaVAS            01              AGR             282003    5,6

我想以Arm_id,DSPCode,Pincode的形式保存字符串.此格式是可配置的,即它可能会更改为DSPCode,Arm_id,Pincode.我将格式保存在列表中

FORMAT = ['Arm_id', 'DSPName', 'Pincode']

如果FORMAT是可配置的,我如何阅读带有提供名称的特定列的内容.

这是我试过的.目前我能够阅读文件中的所有内容

from xlrd import open_workbook
wb = open_workbook('sample.xls')
for s in wb.sheets():
    #print 'Sheet:',s.name
    values = []
    for row in range(s.nrows):
        col_value = []
        for col in range(s.ncols):
            value  = (s.cell(row,col).value)
            try : value = str(int(value))
            except : pass
            col_value.append(value)
        values.append(col_value)
print values

我的输出是

[[u'Arm_id', u'DSPName', u'DSPCode', u'HubCode', u'PinCode', u'PPTL'], ['1', u'JaVAS', '1', u'AGR', '282001', u'1,2'], ['2', u'JaVAS', '1', u'AGR', '282002', u'3,4'], ['3', u'JaVAS', '1', u'AGR', '282003', u'5,6']]

然后我循环值[0]试图找出值[0]中的FORMAT内容,然后在值[0]中获取Arm_id,DSPname和Pincode的索引,然后从下一个循环得知所有FORMAT的索引因素,从而了解我需要获得哪个价值.

但这是一个如此糟糕的解决方案.

如何在excel文件中获取具有名称的特定列的值?