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

时间:2011-10-31 13:23:17

标签: python excel dictionary xlrd

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

| ColA | ColB |
|关键|价值|
| 1 |测试|
| 2 | test2 |
| 3 | test4 |

我希望将这两列读入字典。我目前有这个工作,但无法弄清楚如何提取每个键值对

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

1 个答案:

答案 0 :(得分:4)

你非常接近。如果要从仅包含键和值的工作表构建字典,请在前两列中单击

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

正如John Y所提到的,如果你需要提取索引为i(keys)和j(values)的两个特定列,你可以改为:

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

关键是dict()可以从(key,value)元组的可迭代构建字典。