写一个python脚本,读取两个竖线分割的文件,比较文件每行数据,列出不同
时间: 2024-05-12 10:20:29 浏览: 87
的行,并输出到一个新的文件中。
假设有两个文件A.txt和B.txt,每个文件中的数据都是用竖线分割的,格式如下:
A.txt
```
1|apple|10.0|2021-01-01
2|banana|15.0|2021-01-02
3|orange|12.0|2021-01-03
4|pear|8.0|2021-01-04
5|watermelon|25.0|2021-01-05
```
B.txt
```
1|apple|10.0|2021-01-01
2|banana|15.0|2021-01-02
3|orange|12.5|2021-01-03
4|pear|8.0|2021-01-04
5|watermelon|25.0|2021-01-05
6|pineapple|18.0|2021-01-06
```
我们需要编写一个Python脚本,比较A.txt和B.txt的每行数据,列出不同的行,输出到一个新的文件C.txt中。脚本如下:
```python
# 打开文件A.txt和B.txt
with open('A.txt', 'r') as file1, open('B.txt', 'r') as file2:
# 读取文件内容并按行分割
file1_lines = file1.readlines()
file2_lines = file2.readlines()
# 创建一个新文件C.txt
with open('C.txt', 'w') as file3:
# 遍历A.txt的每行数据
for i in range(len(file1_lines)):
# 如果B.txt中没有这一行数据,则说明这一行是不同的
if file1_lines[i] not in file2_lines:
# 将不同的行写入新文件C.txt中
file3.write(file1_lines[i])
```
运行以上脚本后,会在当前目录下生成一个新文件C.txt,其中包含不同的行:
C.txt
```
3|orange|12.0|2021-01-03
5|watermelon|25.0|2021-01-05
```
阅读全文