PowerQuery中带前导空格的日期格式处理问题
解决方案
先清理日志日期字符串中的连续空格,再用适配单/双位日期的格式解析:
在Power Query中使用以下自定义列公式:DateTime.FromText( Text.Combine(Text.Split([tDateTime], " "), " "), [Format="ddd MMM d HH:mm:ss yyyy", Culture="en-US"] )原理:
Text.Split([tDateTime], " ")会按空格拆分字符串,自动忽略连续空格生成无空值的列表;Text.Combine用单个空格重新拼接列表,统一日期部分格式(比如把Jul 1转为Jul 1);最后用d作为日期占位符,它能同时匹配1位(如1)和2位(如30)的日期数字,避免原格式dd要求两位数字导致的报错。另一种更直接的方式,用
Text.TrimEachWord清理每个字段的前后空格:DateTime.FromText( Text.TrimEachWord([tDateTime]), [Format="ddd MMM d HH:mm:ss yyyy", Culture="en-US"] )原理:
Text.TrimEachWord会单独去除日期字符串中各部分(星期、月份、日期、时间、年份)的前后空格,将Fri Jul 1 09:50:10 2023转为Fri Jul 1 09:50:10 2023,再用适配单/双位日期的格式解析即可。
内容的提问来源于stack exchange,提问作者PerryW
相关产品推荐
相关产品推荐

