1

cvsファイルを読みましたが、そのファイルにある情報から辞書を作成したいと思います。その提案にクラスcsv.DictReaderを使用しようとしましたが、希望する結果が得られませんでした。

今、私はこのようなファイルを読んでいます:

size_reader = csv.reader(f,dialect='excel-tab')

そして私は結果としてこれを持っています:

['chr1', '249250621']
['chr2', '243199373']
['chr3', '198022430']
['chr4', '191154276']
['chr5', '180915260']

この構造の辞書を作りたいと思います。

dict ['chr4'] = 191154276
dict ['chr5'] = 180915260
dict ['chr2'] = 243199373

正規表現を使用してファイルの行の要素を分割しようとしましたが、成功しませんでした。split関数で間違った文字を使用した可能性があります。要素を分離して辞書を作成する方法について提案していただけますか?

4

1 に答える 1

5

それを直接dictに変換するだけです:

 result = dict(size_reader)

これは、CVS リーダーからそれぞれ 2 列の結果size_readerを取得し、それを Python 辞書のキーと値として使用します。

各値を整数に変換するには、dict 内包表記を使用して各値を処理する必要があります。

result = {k: int(v) for k, v in size_reader}
于 2012-12-05T14:27:01.717 に答える