Python熊猫在输出的csv文件中保留小数点逗号

时间:2018-07-30 19:38:28

标签: python pandas csv comma separator

我正在使用pandas库对.csv文件进行一些操作。

输入文件input.csv

    A    B   
   1,2  2,2
   3,5  5,4 

我的代码:

import pandas as pd

df = read_csv('input.csv', sep = ';', encoding = 'ANSI', decimal = ',')
'''
some operations on cells like adding, multiplying...  
'''

df.to_csv('output.csv', sep = ';', encoding = 'ANSI', index = False)

这是我的output.csv的样子:

    A    B    C   
   1.2  2.2  6.5
   3.5  5.4  7.8

但是有没有办法像input.csv一样保持小数点分隔符为逗号?

output.csv的外观如下:

    A    B    C   
   1,2  2,2  6,5
   3,5  5,4  7,8 

我已经尝试过类似的方法,但是没有用:

df = df.astype(str).replace('.',',')

2 个答案:

答案 0 :(得分:3)

方法1

您可以使用:

df.to_csv('output.csv', sep = ';', encoding='ANSI', index=False, decimal=",")

方法2

您也可以使用。

df = df.applymap(lambda x: str(x).replace('.',','))

代替df = df.astype(str).replace('.',',')

它将给出:

      A   B   C
0   1,2 2,2 6,5
1   3,5 5,4 7,8

然后

df.to_csv('output.csv', sep = ';', encoding = 'ANSI', index=False)

答案 1 :(得分:2)

pandas.read_csvDataFrame.to_csv一样,还有一个decimal参数:

df.to_csv('output.csv', sep = ';', encoding='ANSI', index=False, decimal=",")