如何按多条件搜索CSV文件并输出匹配行?
处理1000行用户CSV数据的实用示例
看起来你有一份包含1000行用户信息的CSV文件,结合这类数据常见的处理需求(比如筛选特定性别、转换日期格式),我给你整理了Python的实现方案:
先确认你的CSV格式
你的数据结构如下:
id,first_name,last_name,email,gender,ip_address,birthday 1,Ced,Begwell,cbegwell0@google.ca,Male,134.107.135.233,17/10/1978 2,Nataline,Cheatle,ncheatle1@msn.com,Female,189.106.181.194,26/06/1989 3,Laverna,Hamlen,lhamlen2@dot.gov,Female,52.165.62.174,24/04/1990
示例代码:读取+筛选+日期转换
import csv from datetime import datetime # 替换成你的文件路径 INPUT_CSV = "your_dataset.csv" OUTPUT_CSV = "processed_dataset.csv" with open(INPUT_CSV, "r", encoding="utf-8", newline="") as infile, \ open(OUTPUT_CSV, "w", encoding="utf-8", newline="") as outfile: # 用DictReader可以通过表头字段名访问数据,更直观 reader = csv.DictReader(infile) writer = csv.DictWriter(outfile, fieldnames=reader.fieldnames) writer.writeheader() for row in reader: # 示例:只保留女性用户数据,不需要的话可以删掉这两行 if row["gender"] != "Female": continue # 把DD/MM/YYYY格式的生日转换成YYYY-MM-DD try: birth_date = datetime.strptime(row["birthday"], "%d/%m/%Y") row["birthday"] = birth_date.strftime("%Y-%m-%d") except ValueError: # 遇到格式错误的日期时打印提示,不中断程序 print(f"注意:行ID {row['id']} 的生日格式不正确,跳过日期转换") writer.writerow(row) print(f"处理完成!结果已保存到 {OUTPUT_CSV}")
关键细节说明
- 用内置
csv模块处理,不需要额外装库,1000行数据完全无压力 DictReader比普通reader更易用,直接通过字段名(比如row['email'])获取值- 加入了异常处理,避免因为某一行的日期格式错误导致整个程序崩溃
- 编码指定为
utf-8,防止邮箱或姓名里的特殊字符出现乱码
如果你的实际需求不是这个(比如统计IP分布、批量修改邮箱后缀等),可以把具体需求说清楚,我再帮你调整代码~
内容的提问来源于stack exchange,提问作者TheKassaye
相关产品推荐
相关产品推荐

