我想从给定目录中读取一些CSV,并且我想将结果数据帧的名称命名为与csv的名称相似。 所以我写了下面的代码,但我知道它不是严格的语法。 我旁边有错误:
TypeError: 'str' object does not support item assignment
我的代码:
import os
for element in os.listdir('.'):
element[:-4] = read_csv(element)
感谢您的帮助
答案 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']