小编典典

将逗号小数点分隔符转换为数据框内的点

python

我正在使用导入以下的CSV文件pandas.read_csv

df = pd.read_csv(Input, delimiter=";")

CSV文件示例:

10;01.02.2015 16:58;01.02.2015 16:58;-0.59;0.1;-4.39;NotApplicable;0.79;0.2
11;01.02.2015 16:58;01.02.2015 16:58;-0.57;0.2;-2.87;NotApplicable;0.79;0.21

问题是,当我稍后在代码中尝试使用这些值时,出现此错误: TypeError: can't multiply sequence by non-int of type 'float'

错误是因为我要使用的数字不是用点(.)作为小数点分隔符而是用逗号(,)书写。手动将逗号更改为点后,我的程序可以工作。

我无法更改输入格式,因此必须替换DataFrame中的逗号才能使代码正常工作,我希望python无需手动执行此操作。你有什么建议吗?


阅读 223

收藏
2020-12-20

共1个答案

小编典典

pandas.read_csv``decimal为此有一个参数:doc

即尝试:

df = pd.read_csv(Input, delimiter=";", decimal=",")
2020-12-20