Python检测系统默认小数分隔符(Pandas)

Moh*_*oon 6 python dataframe python-3.x pandas

在我的软件中,用户可以使用 Pandas 加载不同类型的数据集。如果软件安装在具有英语语言环境的 Windows 上,其中小数分隔符是点 (.),我将将此字符传递给 exampleread_csv函数。喜欢:

df = pd.read_csv("example.csv", decimal='.')
Run Code Online (Sandbox Code Playgroud)

但它也可以安装在例如德语区域 PC 上,其中小数点分隔符为逗号 (,)。我可以使用以下方式获取当前本地:

import locale
locale.getdefaultlocale()
Run Code Online (Sandbox Code Playgroud)

但在德语本地语言中,分隔符也可能是点 (.)。现在的问题是我如何明确知道Python中的小数分隔符是什么,以便我可以正确解析数据集?

Moh*_*oon 3

我真是太傻了。文档中是正确的

locale.localeconv()["decimal_point"]
Run Code Online (Sandbox Code Playgroud)

  • 这是不正确的!我正在运行塞尔维亚拉丁语(带有 ,),但小数点正在返回 。 (2认同)