如何在 Python 中使用 for 循环制作 Pandas 数据帧对象



我想创建多个熊猫数据帧df1,df2,df3,...从多个文件 文件1.xlsx, 文件2.xlsx ...使用 for 循环

filenames = {'file1.xlsx','file2.xlsx','file3.xlsx','file4.xlsx','file5.xlsx'}
for i in range(len(filenames)):
df+str(i) = pd.read.excel(filenames[i])

并得到语法错误"无法分配给运算符"如何解决此问题?

尝试locals但不推荐

filenames = {'file1.xlsx','file2.xlsx','file3.xlsx','file4.xlsx','file5.xlsx'}
variables = locals()
for i in range(len(filenames)):
variables["df{0}".format(i)]  = pd.read.excel(filenames[i])

我们通常将其保存到dict

filenames = {'file1.xlsx','file2.xlsx','file3.xlsx','file4.xlsx','file5.xlsx'}
d={'df'+str(i) :  pd.read.excel(filenames[i]) for i in range(len(filenames))}

你能试试这样的东西吗?使用exec将值分配给变量?

filenames = ['file1.xlsx','file2.xlsx','file3.xlsx','file4.xlsx','file5.xlsx']
for fname in filenames:
dfname = fname.split('.')[0]
df = pd.read_excel(fname)
exec("%s=%s" % (dfname , df))

最新更新