【疑难杂症】利用pandas生成excel中数据保留两位小数及千分位

利用pandas生成excel中数据保留两位小数及千分位


手动反爬虫: 原博地址 https://blog.csdn.net/lys_828/article/details/123798963

 知识梳理不易,请尊重劳动成果,文章仅发布在CSDN网站上,在其他网站看到该博文均属于未经作者授权的恶意爬取信息

案例

在实际处理表格的过程中,有时候会需要进行指定位数以及千分位标志的保留。示例如下

在这里插入图片描述

解决

import pandas as pd

data = pd.read_excel('demo.xlsx')
data['成绩'] = data['成绩'].map(lambda x:f'{x:,.2f}')  #核心代码
data.to_excel('demo1.xlsx',index = False)

输出结果
在这里插入图片描述

知识点讲解

核心就是关于字符串的格式化输出,这里的f’{}’ 就是字符串format()方法的简化,两者的功能是一致,示例如下
在这里插入图片描述
关于格式化方式中(也就是下图指的槽)具体包含哪些格式,通过绘制思维导图如下。
在这里插入图片描述
(1)占位符,就是传入要进行格式化字符串的变量。

s = 'demo'

print('{}'.format(s))
print(f'{s}')

输出结果如下。
在这里插入图片描述
(2) 填充字符,字符位置和填充数量。这三个变量是统一进行搭配,比如按照“=”进行长度为10的居中填充,示例如下。

s = 'demo'

print('{:=^10}'.format(s))
print(f'{s:=^10}')

输出结果如下
在这里插入图片描述
如果是要改变其中的内容,比如按照空格填充,指定数量为20,靠右填充,示例如下

s = 'demo'

print('{: <20}'.format(s))
print(f'{s: <20}')

输出结果如下(注意靠右填充,那么原字符串就是在左侧顶格,相反左填充就是>号,字符串显示在右侧。)
在这里插入图片描述
(3)千分位,就是遇三位进行添加一个逗号分隔符。

s = 1234

print('{:,}'.format(s))
print(f'{s:,}')

输出如下。
在这里插入图片描述
(4)保留指定小数位数,比如保留两位小数,代码如下。

s = 1234

print('{:,.2f}'.format(s))
print(f'{s:,.2f}')

输出结果如下(可以和之前的格式参数进行搭配使用,比如搭配千分位,但是注意前后的顺序,其中的.表示保留小数,2表示位数,f就是表示浮点数,‘.2f’也是常见的数据格式,只需要修改中间的数值就可以实现不同位数的保留)
在这里插入图片描述
最后就是可以尝试把6个参数都进行结合,测试输出看看结果,比如将数值进行靠右对齐(即靠左填充空格),保留两位小数和千分位,代码操作如下

s = 1234

print('{: >10,.2f}RMB'.format(s))
print(f'{s: >10,.2f}RMB')

输出结果如下(此外“槽”外面可以添加任何内容进行辅助说明,比如这里就是添加数值的单位为RMB)
在这里插入图片描述

  • 6
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lys_828

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值