我正在尝试导入一个CSV文件,该文件包含一个文本列(名为“格式化日期”),其日期如下:
20年4月18日
我尝试了很多方法将其转换为日期字段。例如,我创建了一个删除撇号的步骤,然后创建了一个使用以下表达式创建自定义列的步骤:
Date.FromText([格式化日期],“ mmm dd yy”)
但是,这会生成有关不受支持的区域性的错误。有什么办法可以做我想做的事?
答案 0 :(得分:1)
您的问题有点模棱两可:
20年4月18日
您的三个字母月份的名字来自什么语言?英语,德语?那么下个月是几月:“五月”或“麦”?撇号怎么样:它代表2000,还是您也有1900的数据?
如果我将撇号替换为“ 20”,然后简单地将文本转换为日期格式,那么效果就很好:
#"Replaced Value" = Table.ReplaceValue(
Source,"'","20",Replacer.ReplaceText,{"date"}),
#"Changed Type1" = Table.TransformColumnTypes(
#"Replaced Value",{{"date", type date}})
因此,您的错误很可能是由您的区域设置引起的。但是,在转换列类型时,可以单击列标题(查询编辑器)中的“ ABC”符号,然后选择“使用语言环境...”。在下面的弹出窗口“ 使用语言环境更改类型”中,选择“数据类型” =“日期”以及适当的“语言环境”。如果您不知道,也可以尝试其他值,直到适合为止。