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

使用Pandas处理CSV文件:转换日期格式并保留第四列零值

解决方案

Excel/Google Sheets 处理方案

假设数据起始单元格为A1,四列对应A、B、C、D:

  • A/B/C列(全有效日期):
    在目标单元格(如A2)输入公式:
    =TEXT(DATE(RIGHT(A1,4),MID(A1,3,2),LEFT(A1,2)),"DD/MM/YYYY")
    
    下拉填充整列即可。
    注:此公式针对DDMMYYYY格式的无分隔符日期,若你的日期是YYYYMMDD格式,调整为:
    =TEXT(DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2)),"DD/MM/YYYY")
    
  • D列(含0值):
    在目标单元格(如D2)输入带判断的公式:
    =IF(D1=0,0,TEXT(DATE(RIGHT(D1,4),MID(D1,3,2),LEFT(D1,2)),"DD/MM/YYYY"))
    
    下拉填充整列。若日期格式为YYYYMMDD,替换为:
    =IF(D1=0,0,TEXT(DATE(LEFT(D1,4),MID(D1,5,2),RIGHT(D1,2)),"DD/MM/YYYY"))
    

Python 脚本处理方案

如果用Pandas批量处理CSV/Excel文件:

import pandas as pd

# 读取数据(假设无表头,根据实际情况调整header参数)
df = pd.read_csv("input_data.csv", header=None)

# 定义日期转换函数
def format_date(val):
    if val == 0:
        return 0
    # 转为8位字符串(补前导零避免短日期问题)
    date_str = str(val).zfill(8)
    # 针对DDMMYYYY格式拆分,若为YYYYMMDD则调整切片位置
    day, month, year = date_str[:2], date_str[2:4], date_str[4:]
    return f"{day}/{month}/{year}"

# 批量转换所有列
df = df.applymap(format_date)

# 导出结果
df.to_csv("output_data.csv", index=False, header=False)

若日期为YYYYMMDD格式,修改函数内的切片逻辑:

year, month, day = date_str[:4], date_str[4:6], date_str[6:]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 17:45:49