如何用Polars读取含欧洲格式数字的CSV并转为浮点数?
解决Polars读取欧洲格式CSV数字的问题
你尝试读取包含欧洲格式数字的CSV文件,示例内容如下:
"COL_A", "COL_B" "ID_A", "47,37"
使用如下代码读取时出现解析错误:
pl.read_csv(inputfile, dtypes={"COL_B": float}, infer_schema_length=200)
错误信息:exceptions.ComputeError: could not parse "47,37" as dtype Float64 at...
简便解决方法
Polars的read_csv方法内置了适配欧洲数字格式的参数,直接配置即可完成解析。
修正后的代码
import polars as pl df = pl.read_csv( inputfile, dtypes={"COL_B": float}, infer_schema_length=200, decimal_separator="," )
说明
decimal_separator=","会告诉Polars将逗号识别为小数点分隔符,无需额外的字符串替换操作,就能直接把"47,37"解析为47.37类型的浮点数,该参数完全适配你使用的Polars 0.15.14版本。
内容的提问来源于stack exchange,提问作者call me Steve
相关产品推荐
相关产品推荐

