在python中使用另一个变量引用变量

时间:2016-07-06 22:18:40

标签: python

我是python的新手 到目前为止这是我的代码。我想要实现的目标是使用另一个变量来引用变量名。

tax_files=['2008','2009','2011','2012','2013','2014','2015']
file_dir='/'
for tax_file in tax_files:
    filename=file_dir + tax_file+'.csv'
    with open(filename,'r') as f:
        for line in f:
            splitted_line = line.split()
            dict_(tax_file)[splitLine[1]] = splitLine[0]

在这里的最后一行,dict(tax_file)假设在不同的迭代中是不同的,例如。第一次迭代应该是dict_2008,然后是dict_2009,依此类推。

为了便于理解,我读到的文件就像这样

usgaap costofgoodsold
usgaap returnonasset

我能在python中完成吗?

2 个答案:

答案 0 :(得分:1)

res = {}
for tax_file in tax_files:
    filename=file_dir + tax_file+'.csv'
    with open(filename,'r') as f:
        for line in f:
            splitted_line = line.split()
            res[ tax_file + '_' +splitLine[1]] = splitLine[0]

更新

res = {}
for tax_file in tax_files:
    temp = {}
    filename=file_dir + tax_file+'.csv'
    with open(filename,'r') as f:
        for line in f:
            splitted_line = line.split()
            temp[line[0]] = temp.get(line[0],[]) +[line[1]]
   res[ tax_file ] = temp

答案 1 :(得分:0)

为什么不直接将dict变量设为一个字典,其中键是年份,而值只是另一个字典。这样你就可以了

MainActivity.this

这是解决您所描述问题的标准方法。在这种情况下,您可能还应该为变量使用不同的名称,因为'dict'是python中的类