2

我正在尝试从 python 中的 excel 文件中读取一些数据

我想将数据放入二维列表

[[A,1,2...],[B,2,3...],[C,5,6...]]

其中 A、B、C 是列标题,数字是该列中的行

现在我只是用来测试这是否可行,所以我知道代码并没有完全按照我上面所说的那样做

#Blank list array
product = []
k = 0
#Read in Data
for r in range(1,sheet.nrows):
    k += 1;
    product[k,1] = sheet.cell(r,1).value

我收到错误说列表索引必须是整数,而不是元组有没有办法用变量填充这样的列表,因为我不知道在我听说过字典但从我读过的我不认为这些对我来说是最好的选择,因为它们更“关键”“价值”而且我有一个“关键”的多个值

4

1 回答 1

2

字典对你有用,因为每个值都可以是一个列表。

product = {}
for col in range(sheet.ncols):
    values = []
    for row in range(1, sheet.nrows):
        values.append(sheet.cell(row, col).value)
    product[sheet.cell(0, col)] = values

然后,这将允许您通过列标签访问任何列的值列表。

> print product['B']
> [1, 4, 2, 6, 7]

编辑:编辑改为从解析行更改为列。

于 2013-06-12T14:36:13.093 回答