python如何筛选出没有表头的csv文件中符合特定条件的行,并写入另一个csv文件中
时间: 2024-02-15 08:02:20 浏览: 137
可以使用Python内置的csv模块读取CSV文件中的数据,并使用条件语句筛选出符合特定条件的行,然后使用csv.writer()函数将这些行写入另一个CSV文件中。
示例代码如下:
```python
import csv
with open('example.csv', 'r') as file:
reader = csv.reader(file)
filtered_rows = []
for row in reader:
if row[1] == 'male' and int(row[2]) < 30: # 假设第二列为性别,第三列为年龄
filtered_rows.append(row)
with open('output.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerows(filtered_rows)
```
在上面的代码中,我们打开名为"example.csv"的文件,并使用csv.reader()函数创建一个CSV读取器对象。然后,我们使用for循环遍历CSV文件中的每一行,并使用条件语句筛选出符合特定条件的行。在本例中,我们筛选出性别为男性且年龄小于30岁的行,并将它们添加到一个名为"filtered_rows"的列表中。
最后,我们打开名为"output.csv"的文件,并使用csv.writer()函数创建一个CSV写入器对象。然后,我们使用writerows()函数将"filtered_rows"列表中的所有行写入到"output.csv"文件中。需要注意的是,我们需要指定newline=''参数,以避免在Windows系统下出现空行的问题。
注意:如果你的CSV文件包含了一些非ASCII字符,例如中文,你需要指定文件编码,例如:
```python
with open('example.csv', 'r', encoding='utf-8') as file:
# ...
```
这里我们指定编码为UTF-8。
阅读全文