python如何筛选出Csv文件中第5第6列各自与txt文件第5第6列具有相同数据的行,并写入新的csv文件
时间: 2024-02-16 16:04:46 浏览: 76
python实现对csv文件的读取和对第5列的排序
好的,那么你需要稍微修改一下上面的代码,来实现你的需求。具体来说,你需要使用`merge`函数的`left_on`和`right_on`参数,来指定要匹配的列。代码如下:
```python
import pandas as pd
# 读取csv文件
csv_df = pd.read_csv('data.csv')
# 读取txt文件
with open('data.txt', 'r') as f:
txt_data = f.readlines()
# 提取txt文件中的第5、6列数据
txt_data = [line.split(',')[4:6] for line in txt_data]
# 将txt数据转换为DataFrame格式
txt_df = pd.DataFrame(txt_data, columns=['col5_txt', 'col6_txt'])
# 将csv文件中的第5、6列数据与txt文件中的各自匹配
result = csv_df.merge(txt_df, left_on='col5', right_on='col5_txt').merge(txt_df, left_on='col6', right_on='col6_txt')
# 将结果写入新的csv文件
result.to_csv('result.csv', index=False)
```
这段代码会读取`data.csv`和`data.txt`两个文件,提取其中的第5、6列数据,并各自匹配相同的行,最终将结果写入`result.csv`文件中。
需要注意的是,这段代码中使用了两次`merge`函数来实现匹配,第一次匹配第5列,第二次匹配第6列。这样可以确保只有同时满足两个条件的行才会被筛选出来。
阅读全文