Python pandas 在输出 csv 文件中保留小数点逗号
Python pandas preserving decimal commas in the output csv file
我正在使用 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('.',',')
和pandas.read_csv
一样,DataFrame.to_csv也有一个decimal
参数:
df.to_csv('output.csv', sep = ';', encoding='ANSI', index=False, decimal=",")
方法一
您可以使用:
df.to_csv('output.csv', sep = ';', encoding='ANSI', index=False, decimal=",")
方法二
作为替代,您也可以使用。
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)
我正在使用 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('.',',')
和pandas.read_csv
一样,DataFrame.to_csv也有一个decimal
参数:
df.to_csv('output.csv', sep = ';', encoding='ANSI', index=False, decimal=",")
方法一
您可以使用:
df.to_csv('output.csv', sep = ';', encoding='ANSI', index=False, decimal=",")
方法二
作为替代,您也可以使用。
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)