如何在Polars的read_csv中指定列类型?解决dtype参数报错问题
Polars中指定CSV列类型的方法
Polars里没有Pandas那样的dtype参数,这就是你代码报错的原因。要指定列类型,你可以用以下两种方式:
1. 使用dtypes参数
和Pandas的dtype用法逻辑一致,区别是参数名是复数形式的dtypes,传入列名到类型的字典即可:
import polars as pl data_pl = pl.read_csv('file.csv', dtypes={'col1': str, 'col2': str})
2. 使用schema参数(更推荐)
Polars官方更推荐用schema参数,它支持Polars原生数据类型(比如pl.String、pl.Int64等),类型定义更精准:
import polars as pl # 字典形式,指定列名对应类型 data_pl = pl.read_csv('file.csv', schema={'col1': pl.String, 'col2': pl.String}) # 也可以用列表形式,按CSV列的顺序指定类型 data_pl = pl.read_csv('file.csv', schema=[pl.String, pl.String])
如果需要完全禁用自动推断、严格遵循你指定的类型,还可以搭配infer_schema_length=0参数,避免Polars根据前几行数据推断类型覆盖你的设置。
内容的提问来源于stack exchange,提问作者Kuber
相关产品推荐
相关产品推荐

