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

如何用Polars的pl.read_csv()读取字符串而非文件?

能否用Polars的pl.read_csv()读取字符串数据?

直接运行你给出的示例代码会报错,因为pl.read_csv()默认接收的是文件路径或者类文件对象,而非原始CSV格式字符串——它会把传入的content当作文件路径去查找,自然找不到对应文件。

要实现读取字符串形式的CSV数据,你需要用io.StringIO把字符串包装成类文件对象,再传给pl.read_csv(),修改后的可运行代码如下:

import polars as pl
from io import StringIO

content = """c1, c2
            A,1
            B,3
            C,2"""
df = pl.read_csv(StringIO(content))
print(df)

运行后会输出对应的DataFrame:

shape: (3, 2)
┌─────┬─────┐
│ c1  ┆ c2  │
│ --- ┆ --- │
│ str ┆ i64 │
├─────┼─────┤
│ A   ┆ 1   │
│ B   ┆ 3   │
│ C   ┆ 2   │
└─────┴─────┘

这种方式和你熟悉的R data.table的fread()逻辑类似,只是Polars需要显式将字符串转为类文件对象。对于多列的长表格,用CSV字符串构造DataFrame确实比字典式构造更直观,修改数据时无需手动对齐列表元素,能有效降低出错概率。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 10:07:01