我正在阅读一个有80多列的Excel文件.每一列都有一个供用户使用的名称(以指示其中包含的内容).在此之前,我正在读取文件openpyxl,为了保证健壮性,我使用命令self.sht.defined_names来获取由Python使用的列名.

由于我的文件越来越大,使用openpyxl不再有效,所以我切换到pd.read_excel().我判断了pandas文档,找不到用pandas获取Excel定义的名称的方法.

EDIT

我希望能够读取Excel文件左上角的名称.在截图中,我将单元格A1命名为"Dummy_name",我不知道如何用pandas获得这个值(或者如果可能的话).

enter image description here

推荐答案

您可以使用Pandas访问工作簿对象并获得defined_names.

如果所有的列都定义了名称,你可以简单地将它们设置为ramerame列:

df = pd.read_excel("excel_file.xlsx", engine="openpyxl")

xls = pd.ExcelFile("excel_file.xlsx")
workbook = xls.book
defined_names = workbook.defined_names

df.columns = list(defined_names)

或者,您可以只设置具有现有定义名称的名称,并保留其余名称:

[...]
df_columns = df.columns
df.columns = list(defined_names) + list(df_columns[len(defined_names) :])

或者将名称设置为已定义的名称,其余的设置为'':

[...]
df_columns = df.columns
df.columns = list(defined_names) + [""] * (len(df_columns) - len(defined_names))

Python-3.x相关问答推荐

Pyvis和Networkx:如何根据源或目标使 node colored颜色 不同

在Python中从列创建新行

正确的本地react 方式-Django身份验证

三重奏:为什么频道被记录为使用async with,而不是with?

提取图像中的背景并保存

以不规则频率识别数据框日期时间列上缺失的日期,并用关联值填充它们

如何在 Python 中 cv2 的窗口标题上动态更新 FPS

如何使用 regex sub 根据列表中的变量替换字符

Python rolling_corr 取消后,应该用什么方法来处理

集合操作:应该只适用于集合,但适用于 dict_keys?

为直方图中的每个 bin 绘制不同的 colored颜色 (Matplotlib)

在初始化之前禁用`__setattr__`的干净方法

在带有 M1 芯片(基于 ARM 的 Apple Silicon)的 Mac 上安装较早版本的 Python(3.8 之前)失败

为什么包含类的名称不被识别为返回值函数注释?

multiprocessing.Queue 中的 ctx 参数

在数据类中创建类变量的正确方法

django - 值更改后自动更新日期

导入 python 模块而不实际执行它

plt.cm.get_cmap 中可以使用哪些名称?

如何从 Base64 转换为字符串 Python 3.2