Python 将dictreader转换为词典的优雅方式

Python 将dictreader转换为词典的优雅方式,python,dictionary,file-io,Python,Dictionary,File Io,我正在这样做: headers = ['name', 'accum', 'hi', 'active', 'first', 'last', 'max', 'dirty'] filename = "C:\\Users\\bcrafton\\Desktop\\se0sh0cb0_perf.vec" with open("C:\\Users\\bcrafton\\Desktop\\se0sh0cb0_perf.vec") as csvfile: for line in csvfile:

我正在这样做:

headers = ['name', 'accum', 'hi', 'active', 'first', 'last', 'max', 'dirty']
filename = "C:\\Users\\bcrafton\\Desktop\\se0sh0cb0_perf.vec"

with open("C:\\Users\\bcrafton\\Desktop\\se0sh0cb0_perf.vec") as csvfile:

    for line in csvfile:
        if all(header in line for header in headers):
            reader = csv.DictReader(csvfile, fieldnames=headers)
            break
这很有效

但我宁愿不用打开文件来使用我的数据。是否有一种优雅的方式,只需将数据放在RAM中,而不需要打开文件

理想情况下,我希望能够关闭该文件,然后通过这样的方式访问我的数据

table['name']['address']

尽管您遗漏了一些重要的细节,但我还是做了一些假设,从而得出以下结论:

table = {}

with open("C:\\Users\\bcrafton\\Desktop\\se0sh0cb0_perf.vec") as csvfile:
    for line in csvfile:
        if all(header in line for header in headers):
            for row in csv.DictReader(csvfile, fieldnames=headers):
                name_row = table.get(row['name'], {})
                name_row[row['name']] = row['address']