pd.read_csv()SyntaxError:无法分配给函数调用

时间:2018-01-12 00:55:05

标签: python pandas csv

我正在尝试使用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读入的数据框的变量名?

1 个答案:

答案 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']加载的数据框!

相关问题