我在目录中读取了多个文件
files = sorted(glob("df*.csv"))
dfList = [pd.read_csv(f) for f in files]
print(files)
['df.csv', 'df08.csv', 'df1.csv', 'df2csv.csv', 'df3.csv', 'dfcsv.csv', 'dfcsv_withsep.csv']我想在dfList中为每个数据集设置旧名称,所以我尝试循环
names = ['df.csv', 'df08.csv', 'df1.csv', 'df2csv.csv', 'df3.csv', 'dfcsv.csv', 'dfcsv_withsep.csv']
list_names = [i.split(".")[0] for i in names]
print(list_names)
['df', 'df08', 'df1', 'df2csv', 'df3', 'dfcsv', 'dfcsv_withsep']
for i in list_names:
for j in dfList:
i = pd.DataFrame(j)它不起作用,如果我手动操作,它就能起作用。
df = dfList[0]
df08 = dfList[1]
df1 = dfList[2]我做错了什么吗?
发布于 2017-10-20 06:09:31
您在for循环中什么也没做。您只需分配对任何结果都没有影响的局部变量i。您需要将想要的结果存储到可以使用的内容中,如下所示:
names = ['df.csv', 'df08.csv', 'df1.csv', 'df2csv.csv', 'df3.csv', 'dfcsv.csv', 'dfcsv_withsep.csv']
list_names = [i.split(".")[0] for i in names]
new_names = dict()
for i in list_names:
for j in dfList:
new_names[i]=pd.DataFrame(j)或者类似的东西。
https://stackoverflow.com/questions/46835846
复制相似问题