使用python和xlrd,从电子表格中读取2列的最佳方法是什么?

我有一个Excel电子表格有2列。 像这样的东西

| ColA | ColB |
| Key | 值|
| 1 | testing|
| 2 | test2 |
| 3 | test4 |

我想把这两列读成字典。 我目前有这个工作,但无法弄清楚如何提取出每个关键值对

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

你非常接近。 如果您想从仅包含键和值的工作表构build字典,则可以简单地在前两列中完成

 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()可以从(键,值)元组的迭代中构build一个字典。