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

Python实现CSV日期时间列拆分、偏移及间隔批量计算

Python处理ISO时区时间CSV方案

使用pandas实现所有处理逻辑,内置的时间解析、偏移、差值计算能力可以自动处理跨天进位、时区适配问题,无需手动编写日期判断逻辑,千条级数据处理无性能压力。

前置依赖

  • 执行以下命令安装需要的库:
    pip install pandas

完整实现代码

import pandas as pd

# 按需修改文件路径
INPUT_FILE = "your_source_data.csv"
OUTPUT_FILE = "processed_result.csv"
# 配置时间偏移量:5小时30分
OFFSET = pd.Timedelta(hours=5, minutes=30)

# 读取数据并解析ISO格式带时区时间
df = pd.read_csv(INPUT_FILE)
df["parsed_time"] = pd.to_datetime(df["Date_and_Time"], format="ISO8601")

# 生成要求的各列
df["Date and Time"] = df["Date_and_Time"]
df["Old Date"] = df["parsed_time"].dt.strftime("%Y-%m-%d")
df["Old Time"] = df["parsed_time"].dt.strftime("%H:%M:%S")

# 计算偏移后时间,自动处理跨天/跨月/跨年的日期切换
df["offset_time"] = df["parsed_time"] + OFFSET
df["New Date"] = df["offset_time"].dt.strftime("%Y-%m-%d")
# macOS/Linux用%-H实现小时无前置零,Windows系统请替换为%#H
df["New Time"] = df["offset_time"].dt.strftime("%-H:%M:%S")

# 计算相邻记录时间间隔,首行填充NA
df["Time Gap"] = df["parsed_time"].diff().dt.total_seconds() / 3600
df["Time Gap"] = df["Time Gap"].fillna("NA").astype(str).str.replace(r"\.0$", "", regex=True)

# 导出结果,丢弃中间辅助列
target_columns = ["Date and Time", "Old Date", "Old Time", "New Date", "New Time", "Time Gap"]
df[target_columns].to_csv(OUTPUT_FILE, index=False)

使用说明

  • 将代码中INPUT_FILE的值替换为你本地原始CSV的路径,OUTPUT_FILE替换为想要保存结果的路径
  • Windows系统运行时,将New Time生成逻辑里的%-H改为%#H,否则小时位会出现多余前导零,和样例格式不一致
  • 所有日期偏移的进位逻辑由pandas自动处理,遇到23点加5小时30分这类跨天场景会自动切换到下一日日期
  • 时间间隔计算基于原始时间戳做差,结果自动去掉无意义的.0后缀,和样例输出格式完全匹配

内容的提问来源于stack exchange,提问作者ankur .k

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 17:24:21