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

使用Pandas动态识别CSV日期列并统一格式为MM-DD-YYYY

PowerShell 解决方案

通过尝试解析每列数据为DateTime对象,动态识别日期列,再统一格式化输出。

# 读取CSV文件
$csvData = Import-Csv -Path "input.csv"

# 定义支持的输入日期格式
$dateFormats = "yyyy-MM-dd", "dd-MM-yyyy"

# 遍历所有列进行检测与转换
foreach ($column in $csvData[0].PSObject.Properties.Name) {
    $validDateCount = 0
    $parsedDates = @()
    
    # 逐行尝试解析当前列的值
    foreach ($row in $csvData) {
        $cellValue = $row.$column
        $parsedDate = $null
        
        if (-not [string]::IsNullOrWhiteSpace($cellValue)) {
            # 尝试用两种格式解析日期
            foreach ($format in $dateFormats) {
                if ([DateTime]::TryParseExact($cellValue, $format, [System.Globalization.CultureInfo]::InvariantCulture, [System.Globalization.DateTimeStyles]::None, [ref]$parsedDate)) {
                    $validDateCount++
                    break
                }
            }
        }
        $parsedDates += $parsedDate
    }
    
    # 有效日期占比≥90%则判定为日期列,统一转换格式
    if ($validDateCount / $csvData.Count -ge 0.9) {
        for ($i = 0; $i -lt $csvData.Count; $i++) {
            if ($parsedDates[$i] -ne $null) {
                $csvData[$i].$column = $parsedDates[$i].ToString("MM-dd-yyyy")
            }
        }
    }
}

# 导出处理后的CSV
$csvData | Export-Csv -Path "output.csv" -NoTypeInformation -Encoding UTF8

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 06:06:45