You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于日期范围移除CSV文件中的指定行?

用Python按日期范围筛选CSV行

核心思路

  1. 读取目标CSV文件(注意你的文件用分号;分隔,不是默认逗号)
  2. 将字符串格式的日期转换为Python可识别的日期对象,方便做范围对比
  3. 设定需要保留的日期区间,过滤掉区间外的行
  4. 将筛选后的内容写入新CSV文件(不修改原文件,避免数据丢失)

完整代码示例

from datetime import datetime

# 匹配CSV中的日期格式:日/月/年 时:分
date_format = "%d/%m/%Y %H:%M"

# 自定义要保留的日期范围,示例为2022-10-18 00:00到2022-10-19 23:59
start_dt = datetime.strptime("18/10/2022 00:00", date_format)
end_dt = datetime.strptime("19/10/2022 23:59", date_format)

# 读取原文件并筛选内容
filtered_lines = []
with open("你的原始文件名.csv", "r", encoding="utf-8") as f:
    for line in f:
        clean_line = line.strip()
        if not clean_line:
            continue  # 跳过空行
        # 拆分日期和数值部分
        date_str, value = clean_line.split(";")
        # 转换为日期对象
        row_date = datetime.strptime(date_str, date_format)
        # 判断是否在目标范围内,符合则保留
        if start_dt <= row_date <= end_dt:
            filtered_lines.append(clean_line)

# 将筛选结果写入新文件
with open("筛选后的文件名.csv", "w", encoding="utf-8") as f:
    f.write("\n".join(filtered_lines))

适配你的需求的修改点

  • 替换你的原始文件名.csv和筛选后的文件名.csv为实际文件名
  • 修改start_dt和end_dt的日期值,确保格式与date_format一致(日/月/年 时:分)
  • 如果CSV有表头,在循环前添加next(f)语句跳过表头行

内容的提问来源于stack exchange,提问作者xWee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 19:10:53