2

2列のExcelスプレッドシートがあります。このようなもの

|ColA | ColB |
|キー | 値 |
|1 | テスト |
|2 | テスト2 |
|3 | テスト4 |

この 2 つの列を辞書に読み込みたいと思います。現在これは機能していますが、各キーと値のペアを抽出する方法がわかりません

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

1 に答える 1

4

あなたはとても近いです。キーと値のみを含むシートから辞書を作成する場合は、最初の2列で簡単に実行できます。

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

John Yが述べたように、インデックスi(キー)とj(値)を持つ2つの特定の列を抽出する必要がある場合は、代わりに次のようにすることができます。

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

重要な点はdict()、反復可能な(キー、値)タプルから辞書を構築できることです。

于 2011-10-31T13:30:02.657 に答える