python比较1.txt和2.txt文件中的每行数据。在1.txt文件中从第一行开始,每行的第一列数据和第二列数据在2.txt文件中进行查找,查到就跳转到下一行,如果查不到,就把第三列数据变为零。把新的数据重新写入3.txt文件中。
时间: 2024-03-23 08:38:27 浏览: 18
好的,这个问题可以使用Python编写一个脚本来实现。以下是代码示例:
```python
with open('1.txt', 'r') as f1, open('2.txt', 'r') as f2, open('3.txt', 'w') as f3:
for line1 in f1:
columns1 = line1.strip().split()
found = False
for line2 in f2:
columns2 = line2.strip().split()
if columns1[0] == columns2[0] and columns1[1] == columns2[1]:
f3.write(f"{columns1[0]} {columns1[1]} {columns2[2]}\n")
found = True
break
if not found:
f3.write(f"{columns1[0]} {columns1[1]} 0\n")
f2.seek(0)
```
这个脚本使用了三个文件句柄,一个用于读取1.txt文件,一个用于读取2.txt文件,一个用于写入3.txt文件。然后使用两个for循环,一个循环读取1.txt文件的每一行,一个循环读取2.txt文件的每一行。在内部的循环中,我们比较了1.txt文件的当前行的第一列和第二列数据是否和2.txt文件的当前行的第一列和第二列数据相同。如果相同,就将1.txt文件的当前行的第三列数据替换成2.txt文件的当前行的第三列数据,并写入到3.txt文件中。如果没有找到相同的行,就将1.txt文件的当前行的第三列数据替换成0,并写入到3.txt文件中。
注意,在内部循环中,我们使用了一个变量found来标记是否找到相同的行。如果找到了,就将found设置为True,并使用break语句跳出循环,以节省时间。在每次内部循环结束后,我们使用f2.seek(0)将文件指针重新设置到文件开头,以便下一次内部循环的开始。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)