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

我尝试使用正则表达式将元素拆分为文件中的行,但没有成功,也许我在拆分函数中使用了错误的字符。您能否就如何分离元素和构建字典提出一些建议?

4

1 回答 1

5

只需将其直接转换为 dict:

 result = dict(size_reader)

这会从您的 CVS 阅读器获取每两列结果,size_reader并将其用作 python 字典的键和值。

To convert each value to integers, you'd need to use a dict comprehension to process each value:

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