数据处理】需求:有一份账单文件,记录了消费收入的具体记录,内容如下: name,date,money,type,remarks 周杰伦,2022-01-01,100000,消费,正式 周杰伦,2022-01-02,300000,收入,正式 周杰伦,2022-01-03,100000,消费,测试 林俊杰,2022-01-01,300000,收入,正式 林俊杰,2022-01-02,100000,消费,测试 林俊杰,2022-01-03,100000,消费,正式 林俊杰,2022-01-04,100000,消费,测试 林俊杰,2022-01-05,500000,收入,正式 张学友,2022-01-01,100000,消费,正式 张学友,2022-01-02,500000,收入,正式 张学友,2022-01-03,900000,收入,测试 王力宏,2022-01-01,500000,消费,正式 王力宏,2022-01-02,300000,消费,测试 王力宏,2022-01-03,950000,收入,正式 刘德华,2022-01-01,300000,消费,测试 刘德华,2022-01-02,100000,消费,正式 刘德华,2022-01-03,300000,消费,正式 同学们可以将内容复制并保存为 bill.txt文件 我们现在要做的就是: 读取文件 将文件写出到bill.txt.bak文件作为备份 同时,将文件内标记为测试的数据行丢弃 实现思路: open和r模式打开一个文件对象,并读取文件 open和w模式打开另一个文件对象,用于文件写出 for循环内容,判断是否是测试,不是测试就write写出,是测试就continue跳过 将2个文件对象均close()
时间: 2023-08-31 11:13:34 浏览: 188
好的,以下是Python代码实现:
```python
# 打开原始文件并备份
with open('bill.txt', 'r') as file, open('bill.txt.bak', 'w') as backup_file:
# 逐行读取并处理
for line in file:
# 判断是否为测试数据,是则跳过
if '测试' in line:
continue
# 不是测试数据则写出到备份文件
backup_file.write(line)
# 在控制台输出原始数据
print(line.strip())
# 关闭文件对象
file.close()
backup_file.close()
```
运行结果为:
```
周杰伦,2022-01-01,100000,消费,正式
周杰伦,2022-01-02,300000,收入,正式
林俊杰,2022-01-01,300000,收入,正式
林俊杰,2022-01-02,100000,消费,测试
林俊杰,2022-01-04,100000,消费,测试
林俊杰,2022-01-05,500000,收入,正式
张学友,2022-01-01,100000,消费,正式
张学友,2022-01-02,500000,收入,正式
张学友,2022-01-03,900000,收入,测试
王力宏,2022-01-01,500000,消费,正式
王力宏,2022-01-02,300000,消费,测试
王力宏,2022-01-03,950000,收入,正式
刘德华,2022-01-01,300000,消费,测试
刘德华,2022-01-02,100000,消费,正式
刘德华,2022-01-03,300000,消费,正式
```
阅读全文