我正在尝试使用for循环将一堆csvs读入pandas。我希望表名是扩展名之前的完整文件路径的最后一位。例如,
old_ptr1 = ptr1;
ptr1 = ptr1 + 1;
*old_ptr1 = *ptr2;
ptr2 = ptr2 + 1;
将是
ACS_BV0002_2016_Age.csv
我这样做是因为我可以创建字典,其中表名作为键,列名和数据类型作为值,然后我可以在psycogpg2中使用它来一次性创建postgresql中的所有表。< / p>
这似乎得到了我想要的名字:
Age
有没有办法可以使用path = r"C:\Data\Waste_Intervention\Census_Tables\Cleaned"
fList = os.listdir(path)
for doc in fList:
csv = "{}\\{}".format(path, doc)
name = doc.split("_")[-1][:-4]
pd.read_csv(csv)
的输出成为name
读入的数据框的变量名?
答案 0 :(得分:1)
从您的代码中,不清楚为什么要将read_csv
的结果分配给您尝试将分配给数据帧的项目。无论如何,你问:
有没有办法可以将我想要的字符串传递给表格 pd.csv_read的名称,以便我可以在路径中获取所有csv 带有for循环的pandas让它们保持简单易懂 命名
在这种情况下,您可以做的事情有限。 DataFrame
个对象与&#34; name&#34;实际上没有关联,你说使用描述性变量名来处理它。
但是,对于您的情况,您希望创建可变数量的变量,最简单的事情(我要做的)是使用字典。
dfs = {}
for doc in fList:
i = "{}\\{}".format(path, x[0])
j = doc.split("_")[-1][:-4]
dfs[j] = pd.read_csv(i)
现在,您可以使用ACS_16_5YR_B02001_race.csv
来引用从dfs['race']
加载的数据框!