请帮我用python写一份代码,要求如下:1.读入文件名为“data.txt”的文本文件,文件内的数据按行存储,每一行均为13个数据,中间由空格隔开。2.遍历每一行数据,将第8列及以后大于10000的数据替换为0。3.得到的新数按行导入新文件"data1.txt"中
时间: 2024-05-10 14:19:26 浏览: 7
以下是实现你要求的Python代码:
```python
# 打开文件
with open('data.txt', 'r') as file_in:
# 读取所有行
lines = file_in.readlines()
# 遍历所有行
for i, line in enumerate(lines):
# 按空格分割每一行数据
data = line.strip().split()
# 遍历第8列及以后的数据
for j in range(7, 13):
if int(data[j]) > 10000:
# 将大于10000的数据替换为0
data[j] = '0'
# 将修改后的数据按空格拼接成新的行
new_line = ' '.join(data) + '\n'
# 将新的行写入新文件中
with open('data1.txt', 'a') as file_out:
file_out.write(new_line)
```
代码中使用了两个文件对象,一个用于读取原始数据,一个用于写入修改后的数据。在遍历每一行数据时,使用`strip()`函数去除行末的换行符,再使用`split()`函数按空格分割每个数据项。然后遍历第8列及以后的数据,如果大于10000,则将其替换为0。最后将修改后的数据按空格拼接成新的行,并写入新文件中。