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

如何配置Polars read_excel读取Excel中被过滤的行?

解决Polars read_excel无法读取Excel过滤行的问题

问题背景

使用Polars 0.15.13和xlsx2csv 0.8.0时,通过pl.read_excel()无法读取Excel中被过滤的行,即使设置xlsx2csv_options={"skip_hidden_rows": False}也无效,当前临时方案是通过pandas读取后转Polars,但希望直接用Polars实现。

可行解决方案

1. 传递正确的过滤行控制参数

xlsx2csv中,手动隐藏的行和筛选后隐藏的行是两个独立控制项:

  • skip_hidden_rows:控制是否跳过右键手动隐藏的行
  • skip_filtered_rows:控制是否跳过筛选功能隐藏的行

你需要在xlsx2csv_options中传入针对过滤行的参数:

import polars as pl

df = pl.read_excel(
    "your_file.xlsx",
    xlsx2csv_options={"skip_filtered_rows": False}
)

2. 升级Polars版本

Polars 0.15.13属于较旧版本,后续版本对xlsx2csv的参数传递逻辑有优化。建议升级到最新稳定版后再尝试:

pip install --upgrade polars

3. 手动调用xlsx2csv读取后转Polars

如果上述方法仍无效,可以绕开Polars的read_excel,直接调用xlsx2csv的Python API读取数据,再转换为Polars DataFrame:

import polars as pl
from xlsx2csv import Xlsx2csv

# 将Excel内容转为CSV格式字符串
csv_content = []
Xlsx2csv(
    "your_file.xlsx",
    skip_filtered_rows=False,
    skip_hidden_rows=False
).convert(csv_content)

# 从CSV字符串生成Polars DataFrame
df = pl.read_csv("\n".join(csv_content))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 05:55:29