Using python list to read in pandas CSV file
本问题已经有最佳答案,请猛点这里访问。
我正在尝试读取12个独立的csv文件,并希望使用for循环来完成此操作。出于某种原因,代码似乎不起作用:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | files = ['Jan2016', 'Feb2016', 'Mar2016', 'Apr2016', 'May2016', 'Jun2016', 'Jul2016', 'Aug2016', 'Sep2016', 'Oct2016', 'Nov2016', 'Dec2016'] for file in files: file = pd.read_csv("/Volumes/Toshiba/PrescriptionData/Results2/" + i +".csv") print(Jan2016) --------------------------------------------------------------------------- NameError Traceback (most recent call last) <ipython-input-49-906109eb8ce9> in <module>() 4 file = pd.read_csv("/Volumes/Toshiba/PrescriptionData/Results2/" + i +".csv") 5 ----> 6 print(Jan2016) NameError: name 'Jan2016' is not defined |
但是,当我输入print(文件)时,代码编译并打印来自dec2016 csv文件的数据(即"文件"列表中的最终值)。有关于为什么这个for循环不工作的想法吗?
数据帧字典需要
1 2 | path ="/Volumes/Toshiba/PrescriptionData/Results2/" dfs = {file : pd.read_csv(path + file +".csv") for file in files} |
与以下内容相同:
1 2 3 4 | dfs = {} path ="/Volumes/Toshiba/PrescriptionData/Results2/" for file in files: dfs[file] = pd.read_csv(path + file +".csv") |
然后按键在
1 | print (dfs['Jan2016']) |