Python pd.read\U csv的小数问题

Python pd.read\U csv的小数问题,python,pandas,csv,Python,Pandas,Csv,我在windows 10上安装了Anaconda 3。我正在读取欧洲格式的csv文件(“,”作为分隔符)。我使用“decimal”指定逗号,但它不适用于所有列 csv文件行如下所示: 2;PAU;11:21:19;00:00;00:00;0;0;2,102;0,00;20,75;20,75;0,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00 x=pd.read_csv(file,sep=';',decimal=',',encoding='latin-1',low_

我在windows 10上安装了Anaconda 3。我正在读取欧洲格式的csv文件(“,”作为分隔符)。我使用“decimal”指定逗号,但它不适用于所有列

csv文件行如下所示:

2;PAU;11:21:19;00:00;00:00;0;0;2,102;0,00;20,75;20,75;0,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00


x=pd.read_csv(file,sep=';',decimal=',',encoding='latin-1',low_memory=False)
0 2 PAU 11:21:19 00:00 00:00 0 0 2,102 0.00 20.75 20.75 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
输出如下:

2;PAU;11:21:19;00:00;00:00;0;0;2,102;0,00;20,75;20,75;0,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00


x=pd.read_csv(file,sep=';',decimal=',',encoding='latin-1',low_memory=False)
0 2 PAU 11:21:19 00:00 00:00 0 0 2,102 0.00 20.75 20.75 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 
20.75版成功考虑了欧洲格式,但2102版未考虑

有什么建议吗

编辑:仍然没有干净的解决方案,我这样做:

x['Tension'] = x['Tension'].str.replace(',','.')

这是因为您的数据被解释为标题。阅读时提及您没有标题:

x=pd.read_csv(file,sep=';',decimal=',',
    encoding='latin-1',low_memory=False,header=None)

你有合适的标题吗?以下是标题:Pas;埃塔特;休尔;Durée pas;杜雷方案;周期Niveau du循环;紧张库兰特;Tempborne+;德特里普;阿查;AhDch;AhPas;沃库;WhCha;WhDch;WHPA;A您是否尝试删除了encoding='latin-1'?是的,如果没有它,它将无法用于欧洲格式,我将使用感谢您的回复。实际上,我的数据集中有一个标题。用header=None删除数据集并不能解决问题。@GillesL您能在这里显示您的数据集(或其中的一部分)吗?以下是前三行:Pas;埃塔特;休尔;Durée pas;杜雷方案;周期Niveau du循环;紧张库兰特;Tempborne+;德特里普;阿查;AhDch;AhPas;沃库;WhCha;WhDch;WHPA;啊哈!;;;;;;;[五] );[A] );[C] );[C1];[啊哈];[AhDch];[AhPas];[Wh];[WhCha];[WhDch];[WHPA];[啊]2;加索尔;11:21:19;00:00;00:00;0;0;2,102;0,00;20,75;20,75;0,00;0,00;0,00;0,00;0,00;0,00;0,00;0,00@GillesL因为第二行的某些列确实包含文本值,所以整个数据帧在这些列中的值都是文本。不能在同一列中混合使用文本和数值;如果哪怕有一个值是文本,该列的其余部分也将被解释为文本。只需删除第二行。我试图用skiprows打开没有标题的csv,但问题仍然是一样的。