read_csv命名结果数据帧

时间:2017-11-20 13:09:30

标签: python-3.x pandas

我想从给定目录中读取一些CSV,并且我想将结果数据帧的名称命名为与csv的名称相似。 所以我写了下面的代码,但我知道它不是严格的语法。 我旁边有错误:

TypeError: 'str' object does not support item assignment

我的代码:

import os    
for element in os.listdir('.'):
        element[:-4] = read_csv(element)

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

你可以通过添加tempering全局范围来实现,如下所示:

import os
for i in os.listdir('.'):
    globals()[i] = pd.read_csv(i) 

但是,这非常难看,正如@JonClements指出的那样,如果文件名不遵循python变量命名规则,那将无法工作。提醒一下,变量命名规则是:

Variables names must start with a letter or an underscore, such as:
_underscore
underscore_
The remainder of your variable name may consist of letters, numbers and underscores.
password1
n00b
un_der_scores

检查此link以获取更多说明。

最好的方法是创建字典:

import os
d = {}
for i in os.listdir('.'):
    d[i] = pd.read_csv(i) 

然后,您可以访问所需的任何数据框,如下所示d['file1.csv']