Используя python и xlrd, как лучше всего читать 2 столбца из электронной таблицы - PullRequest
2 голосов
/ 31 октября 2011

У меня есть таблица Excel, которая имеет 2 столбца.Примерно так

| 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 Ответ

4 голосов
/ 31 октября 2011

Ты очень близко.Если вы хотите построить словарь из листа, который содержит только ключи и значения, в первых двух столбцах вы можете просто сделать

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

Как упоминал Джон Y, если вам нужно извлечь два конкретных столбцас индексами i (ключи) и j (значения) вы можете сделать вместо этого:

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

Ключевым моментом является то, что dict() может создать словарь из повторяемого набора (ключ, значение).

...