python实现根据一个csv文件中指定列的数据,筛选出另一个csv文件对应列中满足条件的数据,将满足条件的数据所在行的数据全部存入新的csv文件中
时间: 2023-05-28 18:01:06 浏览: 374
以下是一种实现方式:
```python
import csv
# 读取原始数据的csv文件,根据指定列的数据创建集合
with open('data1.csv', 'r') as csv1_file:
csv1_reader = csv.reader(csv1_file)
set1 = set()
for row in csv1_reader:
set1.add(row[1]) # 假设要根据第二列数据进行筛选
# 读取需要筛选的csv文件,将满足条件的所有行保存到列表中
with open('data2.csv', 'r') as csv2_file:
csv2_reader = csv.reader(csv2_file)
filtered_rows = []
for row in csv2_reader:
if row[1] in set1: # 如果条件满足,保存该行数据
filtered_rows.append(row)
# 将所有满足条件的行数据保存到新的csv文件中
with open('output.csv', 'w', newline='') as output_file:
csv_writer = csv.writer(output_file)
for row in filtered_rows:
csv_writer.writerow(row)
```
以上代码假设要根据第二列数据进行筛选,并将满足条件的所有行保存到新的`output.csv`文件中。可以根据实际情况进行修改。同时需要注意处理文件不存在等异常情况。
阅读全文