手动反爬虫: 原博地址 https://blog.youkuaiyun.com/lys_828/article/details/123798963
知识梳理不易,请尊重劳动成果,文章仅发布在优快云网站上,在其他网站看到该博文均属于未经作者授权的恶意爬取信息
案例
在实际处理表格的过程中,有时候会需要进行指定位数以及千分位标志的保留。示例如下
解决
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)