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

如何在Polars中批量截断字符串以不超过Excel字符限制?

使用Polars批量截断超长字符串适配Excel单元格限制

Excel单元格的字符上限为32767,若不处理超长字符串,用xlsxwriter导出时会出现后续单元格为空的问题。你可以通过Polars的批量列处理能力,一次性对所有字符串列应用截断逻辑,无需逐个列编写代码。

批量处理代码实现

直接针对所有字符串类型列(pl.Utf8)应用你的截断逻辑,替换原来的单列指定:

df = df.with_columns(
    pl.col(pl.Utf8).when(pl.col(pl.Utf8).str.len_chars() >= 32_767)
                   .then(pl.lit('Too many to display - ') + pl.col(pl.Utf8).str.slice(0, 10_000))
                   .otherwise(pl.col(pl.Utf8))
)

代码说明

  • pl.col(pl.Utf8):筛选出DataFrame中所有字符串类型的列,避免对数值、日期等非字符串列执行无效操作。
  • 保留了你原有的逻辑:当列中字符串长度≥32767时,添加提示文本并截取前10000个字符;长度合规时保留原内容。
  • 整个逻辑通过with_columns批量应用到目标列,实现一次处理所有符合条件的列。

自定义调整

如果需要修改截断长度或提示语,直接调整对应参数即可:

  • 修改截断长度:把str.slice(0, 10_000)中的10_000改为你需要的长度。
  • 修改提示文本:替换'Too many to display - '为自定义内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 17:34:58