如何将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()