python 筛选csv文件中含有某个字段的整行数据 并存入新csv文件
时间: 2023-06-18 22:07:57 浏览: 52
可以使用Python内置的csv模块来实现这个功能。
假设我们有一个名为data.csv的CSV文件,它包含以下内容:
```
name,age,gender
Alice,25,female
Bob,30,male
Charlie,20,male
```
现在我们想要筛选出所有gender为male的数据,并将结果保存到一个名为male_data.csv的新文件中。
可以使用以下代码实现:
```python
import csv
# 打开原始文件和新文件
with open('data.csv', 'r') as csv_file, open('male_data.csv', 'w') as new_csv_file:
csv_reader = csv.DictReader(csv_file)
csv_writer = csv.DictWriter(new_csv_file, fieldnames=csv_reader.fieldnames)
csv_writer.writeheader()
# 遍历原始文件的每一行,筛选出gender为male的数据,并写入新文件
for row in csv_reader:
if row['gender'] == 'male':
csv_writer.writerow(row)
```
代码的思路是首先打开原始文件和新文件,然后使用csv.DictReader读取原始文件,使用csv.DictWriter创建新文件的写入器,写入新文件的第一行(即列名),然后遍历原始文件的每一行,筛选出gender为male的数据,并将其写入新文件中。
运行这段代码后,将会生成一个名为male_data.csv的新文件,其中包含以下内容:
```
name,age,gender
Bob,30,male
Charlie,20,male
```