我使用的是AWS Glue DataBrew,并且有一个带有DateTime列的.XLSX数据集。
例如,姓名=弗雷德,票号=1234,出发日期=2021年11月11日
当AWS Glue DataBrew在项目视图中打开数据集时,出发日期将变为GregorianCalendar字符串。
例如
java.util.GregorianCalendar[time=?,areFieldsSet=false,areAllFieldsSet=false,lenient=true,zone=sun.util.calendar.ZoneInfo[id="UTC",offset=0,dstSavings=0,useDaylight=false,transitions=0,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=?,YEAR=2021,MONTH=11,WEEK_OF_YEAR=?,WEEK_OF_MONTH=?,DAY_OF_MONTH=11,DAY_OF_YEAR=?,DAY_OF_WEEK=?,DAY_OF_WEEK_IN_MONTH=?,AM_PM=1,HOUR=10,HOUR_OF_DAY=22,MINUTE=30,SECOND=0,MILLISECOND=0,ZONE_OFFSET=?,DST_OFFSET=?]
我正在尝试将此字符串转换回DateTime值,例如2021-11-11 22:30:00
。
我尝试过的所有DataBrew内置转换都将该列转换为null。
您看到"出发日期";DataBrew中的列值是因为至少有一个单元格中有字符串值。
如果可能的话,你能打开这个excel文件,删除或修复其中一个这样的事件,并尝试将这个更新的文件与DataBrew一起使用吗?
我遇到了类似的问题。我通过在列上使用过滤器和正则表达式解决了这个问题
供年份使用:(\d{4}(等等