使用Python和xlrd,最佳方法读取电子表格中的两列是什么

2 投票
1 回答
3417 浏览
提问于 2025-04-17 05:20

我有一个Excel表格,里面有两列,像这样:

|ColA | ColB |
|键 | 值 |
|1 | 测试 |
|2 | 测试2 |
|3 | 测试4 |

我想把这两列读进一个字典里。现在我已经能做到这一点,但我还不知道怎么把每一对键值提取出来。

  sh = wb.sheet_by_index(0)
  for rownum in range(sh.nrows):
      print sh.row_values(rownum)

1 个回答

4

你已经很接近了。如果你想从一个只包含键和值的表格中创建一个字典,而这个表格的前两列就是这些键和值,你可以简单地这样做:

print dict(sh.row_values(rownum) for rownum in range(sh.nrows))

正如John Y提到的,如果你需要提取两个特定的列,分别是索引i(键)和j(值),你可以这样做:

print dict((sh.cell_value(rownum, i), sh.cell_value(rownum, j)) for rownum in range(sh.nrows))

关键点是,dict()可以从一系列(键,值)元组中创建一个字典。

撰写回答