使用Python和xlrd,最佳方法读取电子表格中的两列是什么
我有一个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()
可以从一系列(键,值)元组中创建一个字典。