加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python PANDAS写入csv:如何设置小数点(“.”或“,”)?

发布时间:2020-12-16 21:47:14 所属栏目:Python 来源:网络整理
导读:在将DataFrame写入csv文件时,我似乎找不到为浮点数设置小数点(“.”或“,”)的选项. (阅读没问题.) 我的任务/问题:我正在发布一个程序/脚本,并希望所有用户都独立于他们的操作系统和语言设置来使用它,并专门生成一个带有小数点设置的csv输出,如“locale.loc

在将DataFrame写入csv文件时,我似乎找不到为浮点数设置小数点(“.”或“,”)的选项. (阅读没问题.)
我的任务/问题:我正在发布一个程序/脚本,并希望所有用户都独立于他们的操作系统和语言设置来使用它,并专门生成一个带有小数点设置的csv输出,如“locale.localeconv()[”decimal_point中所示“]”.
“float_format”选项对我没用.我是否需要将每个浮点数转换为字符串并替换“.”用“,”?
如果这是在其他地方发布的,请原谅我的错误,并提供正确的链接.

非常感谢您的时间和精力!

最佳答案
不会那么高效,但是工作(只是to_csv)之后)

In [29]: df = DataFrame(dict(A = [1.5,2.5],B = [2.5,3.0]))

In [30]: df
Out[30]: 
     A    B
0  1.5  2.5
1  2.5  3.0

In [31]: df.applymap(lambda x: str(x).replace('.',','))
Out[31]: 
     A    B
0  1,5  2,5
1  2,5  3,0

这应该快一点(至少需要0.12)

In [37]: df.applymap(str).replace(r'.',regex=True)
Out[37]: 
     A    B
0  1,0

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读