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

pd.read_excel忽略最后空列:如何读取带格式的空列?

解决pandas读取Excel时忽略空格式列的问题

要读取所有带有格式的列(即便列中无数据),核心是先获取Excel工作表中实际被使用的列范围(包含带格式的空列),再让pandas读取这个范围内的所有列。这里推荐用openpyxl工具来获取列范围,因为它能识别带有格式的空单元格,准确返回工作表的最大列数。

具体步骤:

  1. 用openpyxl加载Excel文件,获取目标工作表的最大列数(包含带格式的空列)
  2. 将最大列数转换为Excel列字母范围,传递给pd.read_excel的usecols参数

代码示例:

import openpyxl
import pandas as pd

# 加载Excel工作簿(只读模式提升效率)
wb = openpyxl.load_workbook("your_file.xlsx", read_only=True)
# 选择目标工作表,这里用默认激活的工作表,也可以指定名称如wb["Sheet1"]
ws = wb.active
# 获取工作表中带格式的最大列数(从1开始计数)
max_column = ws.max_column

# 将最大列数转换为Excel列字母(比如15对应字母O)
last_col_letter = openpyxl.utils.get_column_letter(max_column)
# 读取从A列到最后一列的所有数据
df = pd.read_excel("your_file.xlsx", usecols=f"A:{last_col_letter}")

说明:

  • openpyxl的max_column属性会识别所有带有格式(比如网格线、单元格样式)的列,哪怕列中没有任何数据,因此能准确覆盖你需要的所有列。
  • 如果你的Excel文件有多个工作表,记得将wb.active替换为具体的工作表名称,比如wb["销售数据"]。
  • 读取后的空列会在DataFrame中显示为NaN,你可以根据需求后续处理这些空值。

内容的提问来源于stack exchange,提问作者Андрей Шевцов

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 22:42:14