西南科技大学 Python程序设计 csv文件计算

描述

在附件salary.in中存储了员工一季度1,2,3月的收入,编写程序计算一季度的总收入,并将结果按总收入降序写至salary.out文件。文件

格式

输入

salary.in文件,csv格式,utf-8编码

输出

salary.out文件,csv格式,utf-8编码

样例

salary.in文件内容

工号,1月,2月,3月
5101,18836,14436,7126
5102,19938,16542,11393
5103,19378,7600,10038
5104,5738,7646,10380
5105,19338,14081,8103
5106,11020,10326,6758
5107,18047,7297,10500
5108,9751,18908,8086
5109,12806,19817,5213
5110,15984,5373,5478

Copy

salary.out文件内容

工号,1月,2月,3月,一季度总收入
5102,19938,16542,11393,47873
5105,19338,14081,8103,41522
5101,18836,14436,7126,40398
5109,12806,19817,5213,37836
5103,19378,7600,10038,37016
5108,9751,18908,8086,36745
5107,18047,7297,10500,35844
5106,11020,10326,6758,28104
5110,15984,5373,5478,26835
5104,5738,7646,10380,23764

代码

import csv
with open('salary.in', 'r', encoding='utf-8') as f:
    data = f.read()
with open('salary.csv', 'w', encoding='utf-8') as f:
    f.write(data)
message = open('salary.csv', 'r', encoding='utf-8')
reader = csv.reader(message)
data = list(reader)
message.close()
f = open('salary.csv', 'w', encoding='utf-8',newline='')
writer = csv.writer(f)
data1 = [i for i in data[0]]
data1.append('一季度总收入')
writer.writerow(data1)
for i in range(1, len(data)):
    data[i].append(int(data[i][1]) + int(data[i][2]) + int(data[i][3]))
f.close()
data2 = []
for i in range(1, len(data)):
    data2.append(data[i])
data2.sort(key=lambda x: x[4], reverse=True)
f = open('salary.csv', 'a', encoding='utf-8',newline='')
writer = csv.writer(f)
for i in range(len(data2)):
    writer.writerow(data2[i])
f.close()
with open('salary.csv', 'r', encoding='utf-8') as f:
    data = f.read()
with open('salary.out', 'w', encoding='utf-8') as f:
    f.write(data)

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值