编程语言
首页 > 编程语言> > 带有逗号十进制参数的Pandas(Python)to_clipboard

带有逗号十进制参数的Pandas(Python)to_clipboard

作者:互联网

如何将DataFrame复制到_cliboard并将其粘贴到excel中,并用逗号作为小数点?

在R中,这很简单.

write.table(obj, 'clipboard', dec = ',')

但是我无法在熊猫to_clipboard中弄清楚.

我尝试更改未成功:

import locale
locale.setlocale(locale.LC_ALL, '')

1252西班牙语

或df.to_clipboard(float_format =’%,%’)

提前致谢

解决方法:

有一些不同的方法可以实现此目的.首先,可以使用float_format和您的语言环境,尽管用法不是那么简单(但是一旦知道就很简单:float_format参数应该是可以调用的函数):

df.to_clipboard(float_format='{:n}'.format)

一个小插图:

In [97]: df = pd.DataFrame(np.random.randn(5,2), columns=['A', 'B'])

In [98]: df
Out[98]:
          A         B
0  1.125438 -1.015477
1  0.900816  1.283971
2  0.874250  1.058217
3 -0.013020  0.758841
4 -0.030534 -0.395631

In [99]: df.to_clipboard(float_format='{:n}'.format)

给出:

           A         B
0    1,12544  -1,01548
1   0,900816   1,28397
2    0,87425   1,05822
3 -0,0130202  0,758841
4 -0,0305337 -0,395631

如果您不想依赖于语言环境设置,但仍具有逗号十进制输出,则可以执行以下操作:

class CommaFloatFormatter:
    def __mod__(self, x):
        return str(x).replace('.',',')

df.to_clipboard(float_format=CommaFloatFormatter())

或者只是在将数据写入剪贴板之前进行转换:

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

标签:comma,pandas,decimal,python
来源: https://codeday.me/bug/20191028/1954375.html