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

如何在Polars中使用"\s+"作为read_csv分隔符处理多空格数据?

解决Polars读取多空格分隔文件的问题

问题原因

  1. Polars的pl.read_csv默认不支持多字符或正则表达式作为分隔符(这和Pandas的行为不同),所以直接用sep='\s+'会触发长度超限的报错。
  2. 你误用了orient='col'参数——Polars的read_csv并不包含这个参数,这也是导致读取结果异常的原因之一。

解决方案

根据你的文件情况,有两种可行的处理方式:

方式一:指定固定7个空格作为分隔符

既然文件的实际分隔符是连续7个空格,直接将sep设置为7个空格即可:

import polars as pl

df = pl.read_csv(file_dir, skip_rows=1, sep='       ')  # 此处为连续7个空格

方式二:用Python引擎支持正则分隔符

如果后续文件的分隔符可能是任意数量的空白(不局限于7个),可以指定engine='python'来启用正则表达式分隔:

import polars as pl

df = pl.read_csv(file_dir, skip_rows=1, sep=r'\s+', engine='python')

两种方式都能得到和Pandas一致的3行8列DataFrame。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 06:36:31