我正在使用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('.',',')
答案 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_csv
,DataFrame.to_csv一样,还有一个decimal
参数:
df.to_csv('output.csv', sep = ';', encoding='ANSI', index=False, decimal=",")