考虑行索引和列名,如何使用Python读取Excel工作表?

时间:2015-03-19 17:01:56

标签: python import-from-excel

我希望用Python读取一个包含16个字段和大约100行的Excel工作簿。在阅读时我想使用行索引和列名称。我的想法是每次都以不同的顺序获取文件中的列,因此列索引没有多大帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用xlrd或pyopenxl来读取Excel工作簿的内容,并将内容放入列表列表中:例如:

table = [["Name", "Age", "Ranking"], ["Sofia", 22, 10], ["Bill", 25, 10]]

您可以解析记录并转换实例

class Record:
    pass

def convertToRecords(table):
    names = table[0]
    names = [name.lower() for name in names]
    names = [name.replace(" ", "_") for name in names]
    ret = []

    for row in table[1:]:
        record = Record()
        ret.append(record)
        for i, value in enumerate(row):
            setattr(record, names[i], row[i])

    return ret

您将使用以下代码:

records = convertToRecords(table)
print records[0].name, records[0].age