Python 将列归档到字典

Python 将列归档到字典,python,Python,你好,我有一个包含4列的文件 a 1 45 test b 2 42 test c 3 64 test 我希望将此文件读入字典,以便第3列是键,第1列是值,即 d={45:'a',42:'b',64:'c'} 使用模块解析文件。将delimiter参数更改为输入文件中的任何分隔符。我假设它是标签 import csv d = {} with open('your-input-file', 'r') as input_file: csv_reader = csv.read

你好,我有一个包含4列的文件

a  1  45  test
b  2  42  test
c  3  64  test
我希望将此文件读入字典,以便第3列是键,第1列是值,即

d={45:'a',42:'b',64:'c'}
使用模块解析文件。将delimiter参数更改为输入文件中的任何分隔符。我假设它是标签

import csv
d = {}
with open('your-input-file', 'r') as input_file:
    csv_reader = csv.reader(input_file, delimiter='\t')
    for row in csv_reader:
        d[row[2]] = row[0]
input_file.close()
保持简单:

>>> 
>>> d = dict()
>>> with open('test.txt') as f:
    for line in f:
        val, foo, key, bar = line.split()
        d[key] = val


>>> d
{'64': 'c', '45': 'a', '42': 'b'}
>>> 

你自己尝试过什么吗?我尝试过从这里检索到的各种方法,但没有运气。我是python的初学者。谢天谢地,下面的方法似乎解决了我的问题:dictVars={}中的列(raw.strip().split()中的raw文件2):dictVars[columns[0]]=columns[2]print dictVarsd[row[1]]=row[0]索引器:列出超出范围的索引在分配给字典之前,在for循环中打印一行,并检查它是否返回一个列表作为
['a','1','45','test']