我已经阅读了一个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函数中使用了错误的字符。你能否提出一些如何分离元素和建立字典的建议?
答案 0 :(得分:5)
直接将其转换为dict:
result = dict(size_reader)
这将从您的size_reader
CVS阅读器获取每个两列结果,并将其用作python词典的键和值。
要将每个值转换为整数,您需要使用dict理解来处理每个值:
result = {k: int(v) for k, v in size_reader}