python实现比较两个csv文件中的指定的两列数据,将两列数据中相等的数据打印出来
时间: 2023-05-24 10:07:08 浏览: 140
假设需要比较的两个csv文件为`file1.csv`和`file2.csv`,并且需要比较的两列数据分别为`column1`和`column2`。
以下是一个简单的Python程序,实现了该需求:
```python
import csv
file1 = open("file1.csv", "r")
file2 = open("file2.csv", "r")
csv_reader1 = csv.DictReader(file1)
csv_reader2 = csv.DictReader(file2)
# 定义两个空列表
column1_list = []
column2_list = []
# 读取file1.csv中需要比较的两列数据并存储到列表中
for row in csv_reader1:
column1_list.append(row["column1"])
column2_list.append(row["column2"])
# 遍历file2.csv并比较需要比较的两列数据
for row in csv_reader2:
if row["column1"] in column1_list and row["column2"] in column2_list:
print(row["column1"], row["column2"])
```
首先,该程序打开了需要比较的两个csv文件,并使用`csv.DictReader()`将它们读入程序中。接着,程序将需要比较的两列数据存储到两个列表中。
最后,程序遍历了`file2.csv`中的每一行数据,并判断该行数据中的需要比较的两列数据是否均存在于`file1.csv`中。如果是,则将这两列数据打印出来。
需要注意的是,以上代码仅适用于需要比较的两列数据中不包含重复数据的情况。如果存在重复数据,可以使用集合(set)来处理,即将需要比较的两列数据转换为集合类型,然后使用`set.intersection()`方法取得两个集合的交集。
阅读全文