python筛选出csv满足某条件的行
作者:野牛程序员:2023-07-19 09:06:51python阅读 3243
要使用Python筛选满足某个条件的CSV行,可以使用csv
模块或pandas
库。下面展示两种方法。
使用csv
模块的示例代码如下所示:
import csv def filter_csv(filename, condition): with open(filename, 'r', newline='') as csvfile: reader = csv.reader(csvfile) header = next(reader) # 读取标题行 filtered_rows = [] for row in reader: # 根据条件筛选行 if condition(row): filtered_rows.append(row) return filtered_rows
需要提供一个CSV文件的文件名和一个条件函数。条件函数接收每一行的值作为输入,然后返回一个布尔值,表示该行是否满足条件。
下面是一个使用filter_csv
函数的示例:
# 示例条件函数:筛选第二列的值大于10的行 def condition(row): value = int(row[1]) # 假设第二列是整数类型 return value > 10 # 调用filter_csv函数 filename = 'data.csv' # 替换为你的CSV文件名 filtered_rows = filter_csv(filename, condition) # 打印满足条件的行 for row in filtered_rows: print(row)
使用pandas
库的示例代码如下所示:
import pandas as pd def filter_csv(filename, condition): df = pd.read_csv(filename) # 读取CSV文件为DataFrame # 使用条件函数筛选行 filtered_df = df[condition(df)] return filtered_df.values.tolist() # 将DataFrame转换为列表 # 示例条件函数:筛选第二列的值大于10的行 def condition(df): return df['Column2'] > 10 # 替换'Column2'为实际的列名 # 调用filter_csv函数 filename = 'data.csv' # 替换为你的CSV文件名 filtered_rows = filter_csv(filename, condition) # 打印满足条件的行 for row in filtered_rows: print(row)
需要替换代码中的filename
和条件函数,以适应你的CSV文件和筛选条件。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:python数据筛选小于100的数据
- 下一篇:python查找csv中某个数据