如何使用Python从CSV源表筛选生成仅包含koi_disposition为CANDIDATE的新表
在Python中筛选CSV表中
koi_disposition为CANDIDATE的行的便捷方法 当然有!在Python里处理这类CSV行筛选的需求,最省心的方式就是用pandas库——这是数据处理领域的标配工具,代码简洁到离谱。要是你没法用第三方库,标准库自带的csv模块也能轻松搞定,下面给你两种实用方案:
方法一:使用pandas(推荐)
pandas专门为表格数据处理设计,筛选操作一行就能搞定,步骤超简单:
- 先确保你已经安装了pandas,没装的话用pip安装:
pip install pandas
- 编写代码读取CSV、筛选行、输出结果:
import pandas as pd # 读取原始CSV文件 df = pd.read_csv("your_input_file.csv") # 筛选出koi_disposition字段值为CANDIDATE的行 filtered_df = df[df["koi_disposition"] == "CANDIDATE"] # 把筛选后的结果保存为新的CSV文件 filtered_df.to_csv("filtered_candidates.csv", index=False) # 或者直接打印查看结果 print(filtered_df)
这段代码会自动帮你处理表头、数据类型,完全不用手动解析每一行,效率超高。针对你提供的CSV数据,筛选后只会保留第三行(rowid=3)的记录。
方法二:使用标准库csv(无第三方依赖)
如果你的运行环境没法安装pandas,用Python自带的csv模块也能实现,代码稍微繁琐一点,但胜在不用额外装包:
import csv # 打开原始文件和目标文件 with open("your_input_file.csv", "r") as infile, open("filtered_candidates.csv", "w", newline="") as outfile: reader = csv.DictReader(infile) writer = csv.DictWriter(outfile, fieldnames=reader.fieldnames) # 写入表头 writer.writeheader() # 遍历每一行,筛选符合条件的行写入目标文件 for row in reader: if row["koi_disposition"] == "CANDIDATE": writer.writerow(row)
这个方法通过字典形式读取每一行数据,判断koi_disposition的值,符合条件就写入新文件,同样能得到你想要的结果。
内容的提问来源于stack exchange,提问作者Dila
相关产品推荐
相关产品推荐

