You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python通过循环读取Excel文件并命名DataFrame?

解决方案

你的代码无法运行有两个原因:一是用f-string生成的只是赋值语句的字符串,并没有实际执行赋值操作;二是代码里的f-string缺少闭合引号,本身存在语法错误。

下面给你两种可行的处理方式:

推荐方案:用字典存储DataFrames(更易管理)

针对多文件场景,用字典统一存储DataFrame是更规范的做法,方便后续调用、遍历,也不会污染全局命名空间。代码如下:

import pandas as pd

# 创建空字典,用来存放所有DataFrame
dataframes = {}

for i in [1, 2]:
    # 定义字典的键(对应你想要的df1、df2)和文件路径
    df_name = f"df{i}"
    file_path = f"Pref{i}.xlsx"
    # 读取文件并存入字典
    dataframes[df_name] = pd.read_excel(file_path, sheet_name='Sheet2').dropna(axis=0)

后续调用某个DataFrame时,直接通过字典的键获取即可,示例:

# 查看第一个文件对应的DataFrame前几行
print(dataframes['df1'].head())

可选方案:动态创建全局变量(不推荐)

如果一定要生成df1、df2这类独立变量,可以用globals()函数实现,但这种方式容易引发变量名冲突,后续维护也麻烦,仅作参考:

import pandas as pd

for i in [1, 2]:
    # 生成变量名
    var_name = f"df{i}"
    # 动态创建全局变量并赋值
    globals()[var_name] = pd.read_excel(f"Pref{i}.xlsx", sheet_name='Sheet2').dropna(axis=0)

执行后你就可以直接使用df1、df2这些变量了。

内容的提问来源于stack exchange,提问作者Hiroki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 21:12:29