场景再现:
在进行表格统计计算中,经常遇到录入的数字是字符串,无法进行数学运算,比如计算求和,数值排序等,一个一个转换成数字也很费时间,况且又不送一个表格,有没有方法批量自动完成使字符串转换成数字呢,python通过openpyxl模块就能解决。
1、用到的知识点:
python处理excel的openpyxl模块:wb对象基本操作包括打开保存,工作表对象ws遍历,ws的添加等,ws表格cell遍历读取等。
2、操作步骤思维导图:
操作思维导图
3、用到的文件及截图:
年度模拟工资报表,分享网址:
工资表每个月人数不定、顺序混乱、并且在不同工作表上,下一节实战也要用到
分享网址:https://www.aliyundrive.com/s/uULtYhPnL5j
用到的文件截图
4、代码操作编写截图:
give your the code:
from openpyxl import load_workbook
wb = load_workbook('2021年度工资表.xlsx')
# 循环遍历所有工作表
for sheet in wb.worksheets:
for row in sheet.rows:
for cell in row:
ret = cell.value #单元格值
if type(ret) == str:
if ret.isdigit(): # 是数字类型转化为整数
cell.value = int(ret)
else:# 非数字类型强制转换成浮点数
try:
cell.value = float(ret)
except: pass #出错直接pass掉
wb.save('result.xlsx')
转换后结果
下一节会对转换后的表格进行人均年度工资核算。
,