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

Python中如何修改CSV文件SendingTime列的datetime日期时间格式

CSV SendingTime列日期格式转换问题修复

错误原因

  • 时间格式指令使用错误:Python datetime模块的格式化规则中不存在%h、%s指令,对应时间单位的正确指令为:24小时制小时用%H,分钟用%M,秒用%S
  • 未匹配原始时间的毫秒后缀:原始数据的时间格式为DD/MM/YYYY HH:MM:SS.DDDD,末尾带毫秒段,解析格式需要补充.%f匹配该部分,否则会出现格式不匹配报错
  • 输出格式不符合需求:需求要求输出格式为YYYYMMDD-HH:MM:SS,原代码输出格式误用了带横杠的日期写法

修复后代码

import csv
import re
from datetime import datetime
 
lines = []
# 读取原CSV文件
with open('datetimeissue.csv', "r", newline='') as data:
    reader = csv.reader(data)
    for row in reader:
        for i, string in enumerate(row):
            # 匹配符合原始格式的时间字符串
            if re.match(r"\d{2}\/\d{2}\/\d{4} \d{2}\:\d{2}\:\d{2}\.\d+", string.strip()):
                # 补充%f匹配毫秒部分,修正时间格式指令
                datetimeobject = datetime.strptime(string.strip(), '%d/%m/%Y %H:%M:%S.%f')
                # 调整输出格式为YYYYMMDD-HH:MM:SS
                new_string = datetimeobject.strftime('%Y%m%d-%H:%M:%S')
                row[i] = new_string
                print("Replaced", string, "with", new_string)
        lines.append(row)
 
# 写入新文件
with open('mynewoverwritten.csv', "w", newline='') as data:
    writer = csv.writer(data)
    writer.writerows(lines)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 05:45:03