-->
当前位置:首页 > 题库 > 正文内容

填空题:**读取文本文件内容,处理数据后存入到CSV文件中**

Luz3年前 (2022-05-26)题库1236
**读取文本文件内容,处理数据后存入到CSV文件中**
用水量文件"**water.txt**"的每一行记录了一个用户的用水量,其中第1列为用户账号,第2列为用水量起始值 ,第3列为第1月末用水量读数,依次类推,最后一列是第12月末读数。每个月的用水量计算公式是后一个数减去前一个数,共12个月。每立方米需付1.05元。编程计算每户一年的水费。文件内容如下图所示:

![water文件内容.png](~/b4f15161-71ad-4ce1-b571-7ec36bc66d98.png)

编写程序读取文本文件内容,计算用户每月水费并将结果写入到“**water.csv**”中,结果如下图所示:

![水费CSV.png](~/8111c37d-4e0e-414a-a16b-ca7e87c6a1cc.png)


**完成上述功能的程序代码如下。请填空(注意所填答案前后不能有空格)。**

import csv

fr = open('', 'r') # 读取文件
fw = open('water.csv', 'w', newline='')
head_lst = ["账号", "1月水费", "2月水费", "3月水费", "4月水费", "5月水费", "6月水费", \
"7月水费", "8月水费", "9月水费", "10月水费", "11月水费", "12月水费"] # 标题行
wr = csv.writer(fw, head_lst)
# 写入第1行标题
for line in fr:
line = line.split() # 把文件的每一行列表化
if not line: # 如果为空行就进入下一轮循环

new_line = [line[0]] # 用户名放入列表(新列表用来存放对应用户每月的水费)
for i in range(1, len(line) - 1):
month_fee = 1.05 * () # 每月水费
new_line += [str(round(month_fee, 2))] # 水费保留两位小数,放入新列表

fr.close()














答案:
第1空:water.txt ||

第2空:wr.writerow(head_lst) || wr.writerow( head_lst ) ||

第3空:continue ||

第4空:int(line[i + 1]) - int(line[i]) || int(line[i+1])-int(line[i]) || int(line[i + 1])-int(line[i]) || int(line[i+1]) - int(line[i]) || float(line[i + 1]) - float(line[i]) || float(line[i+1])-float(line[i]) || float(line[i + 1])-float(line[i]) || float(line[i+1]) - float(line[i]) ||

第5空:wr.writerow(new_line) || wr.writerow( new_line ) ||

第6空:fw.close() || fw.close( ) ||

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。