Python 熊猫。如何从数据帧列表中调用数据帧?
我有一个数据帧列表:Python 熊猫。如何从数据帧列表中调用数据帧?,python,pandas,for-loop,Python,Pandas,For Loop,我有一个数据帧列表: all_df = ['df_0','df_1','df_2','df_3','df_4','df_5','df_6'] 我如何从列表中调用他们来执行类似操作: for (df,names) in zip(all_df,names): df.to_csv('output/{}.csv'.format(names)) 当按预期执行时,我得到了错误“str”对象没有属性“to\u csv”,因为我给“to\u csv”赋予了字符串 如何在for循环中保存多个数据帧(或对
all_df = ['df_0','df_1','df_2','df_3','df_4','df_5','df_6']
我如何从列表中调用他们来执行类似操作:
for (df,names) in zip(all_df,names):
df.to_csv('output/{}.csv'.format(names))
当按预期执行时,我得到了错误“str”对象没有属性“to\u csv”
,因为我给“to\u csv”
赋予了字符串
如何在for
循环中保存多个数据帧(或对其执行其他操作)
谢谢
您还可以介绍一下如何根据以下内容创建“正确”的数据帧列表:
path = 'inp/multysheet_excel_01.xlsx'
xl = pd.ExcelFile(path)
sh_name = xl.sheet_names
n = 0
for i in sh_name:
exec('df_{} = pd.read_excel("{}", sheet_name="{}")'.format(n, path, i))
n+=1
因此,基本上我试图将输入excel的每一页作为一个单独的数据框,对其执行一些操作,并将每个输出数据框保存在单独的excel中 你们很接近,但我发现在for循环中有一些错误。假设您有一个数据帧列表
dfs
,其对应的名称作为字符串列表名称
,您可以使用以下名称保存这些数据帧:
dfs = [df_1, df_2, df_3]
names = ['df_0','df_1','df_2']
for df,name in zip(dfs,names):
df.to_csv('output\\{}.csv'.format(name))
不过,如果您只有一个姓名列表,您还可以执行以下操作:
names = ['df_0','df_1','df_2']
for name in names:
globals()[name].to_csv('output\\{}.csv'.format(name))
你们很接近,但我发现在这个循环中有一些错误。假设您有一个数据帧列表
dfs
,其对应的名称作为字符串列表名称
,您可以使用以下名称保存这些数据帧:
dfs = [df_1, df_2, df_3]
names = ['df_0','df_1','df_2']
for df,name in zip(dfs,names):
df.to_csv('output\\{}.csv'.format(name))
不过,如果您只有一个姓名列表,您还可以执行以下操作:
names = ['df_0','df_1','df_2']
for name in names:
globals()[name].to_csv('output\\{}.csv'.format(name))
all_df
不是数据帧列表,它是字符串列表,因此您会得到错误。all_df
不是数据帧列表,它是字符串列表,因此您会得到错误。如何从中获得“正确”的df列表:xl=pd.ExcelFile(路径)sh_name=xl.sheet_name n=0表示sh_name:exec中的i('df_{}=pd.read_excel(“{}”,sheet_name=“{}”)”)。格式(n,path,i))n+=1
不确定您的意思。你能在问题中包括这一点,使其成为一个可复制的例子吗@doctoryep,non知道格式会有问题吗?那生成数据帧的代码是什么@博士,这就是问题所在。如何生成dfs?)添加类似于df_list.append('df_'+str(n))
将给出一个字符串列表而不是dfs列表如何从中获得“正确”的df列表:xl=pd.ExcelFile(path)sh_name=xl.sheet_names n=0表示sh_name:exec中的I('df_{}=pd.read_excel(“{}”,sheet_name=“{}”)。格式(n,path,I))n+=1
不确定您的意思。你能在问题中包括这一点,使其成为一个可复制的例子吗@doctoryep,non知道格式会有问题吗?那生成数据帧的代码是什么@博士,这就是问题所在。如何生成dfs?)添加类似于df_list.append('df_'+str(n))
的内容将给出字符串列表,而不是dfs列表