编写一个职工奖金处理程序。要求如下: ① 输入不超过10个职工的工号、姓名和奖金,保存在文件JJ.txt。文件中的数据格式: 90813,张大海,1080.50元 ② 从JJ.txt中读出数据,然后按奖金从低到高排序,保存在文件NewJJ.txt。
时间: 2023-06-18 17:06:06 浏览: 628
做一个工资管理系统,要能按照姓名和卡号查找员工的工资信息,以及员工工资信息的插入,删除同时这些信息要存txt
5星 · 资源好评率100%
好的,这里是一个Python的代码示例,实现了你的需求:
```python
# 读取文件JJ.txt中的数据
with open('JJ.txt', 'r') as file:
data = file.readlines()
# 将每个职工的信息保存为一个元组,并将所有元组保存在列表中
employees = []
for line in data:
emp_id, name, bonus = line.strip().split(',')
employees.append((emp_id, name, float(bonus[:-1])))
# 按照奖金从低到高排序
employees.sort(key=lambda emp: emp[2])
# 将排序后的数据保存到文件NewJJ.txt中
with open('NewJJ.txt', 'w') as file:
for emp in employees:
file.write(f"{emp[0]},{emp[1]},{emp[2]:.2f}元\n")
```
这段代码首先读取了文件JJ.txt中的数据,并将每个职工的信息保存为一个元组,然后将所有元组保存在列表中。接着,使用`sort`函数按照奖金从低到高排序。最后,将排序后的数据保存到文件NewJJ.txt中。
需要注意的是,在读取奖金时,需要去掉字符串末尾的“元”字,然后将剩余部分转换为浮点数。在写入文件时,需要使用格式化字符串来将浮点数保留两位小数,并在末尾添加“元”字。
阅读全文