【发布时间】:2017-11-24 04:16:40
【问题描述】:
阅读了很多关于日期时间格式的问题,但找不到适合的问题。 - 显然 - 已经尝试用谷歌搜索这个。
我有一些关于我要上传到 bigquery 以创建新表的 csv 文件的日期时间信息。 BQ 指定任何日期时间列的format 必须是YYYY-MM-DD HH:MM:SS。
他们还举了例子:
Event | UNIX | Datetime String
---------------------------------------------------------
"Neil Armstrong | -14182916 | 1969-07-20 20:18:04
sets foot on | | 1969-07-20 20:18:04 UTC
the moon" | | 1969-07-20T20:18:04
但是,当我在 excel 中将日期时间列格式化为 YYYY-MM-DD HH:MM:SS 并将该 csv 上传到 BQ 时,我收到错误消息:
Errors:
mediaupload-snapshot: CSV table encountered too many errors, giving up.
Rows: 1; errors: 1. (error code: invalid)
query: Could not parse '2017/11/22 14:47:23 SGT' as a timestamp.
Required format is YYYY-MM-DD HH:MM[:SS[.SSSSSS]]; Could not parse
'2017/11/22 14:47:23 SGT' as datetime for field Start_Time (position 0)
starting at location 492 (error code: invalidQuery)
当我尝试使用 excel 将 csv 列转换为 YYYY-MM-DD HH:MM[:SS[.SSSSSS]] 时,我被告知这不是合法格式。
当我尝试 YYYY-MM-DD HH:MM:SS \U\T\C 或 YYYY-MM-DD\THH:MM:SS 时,它在 excel 中看起来不错,但我从 BQ 收到与上面相同的错误消息。
以 CSV 格式存储数据以使其与 BQ 兼容的正确方法是什么?
【问题讨论】:
-
你找到解决方案了吗?
-
@VivianSpencer 不幸的是没有。最后,我以另一种方式流式传输数据。
-
我实际上使用以下格式进行了这项工作:
YYYY-MM-DDTHH:MM:SS.00Z。我试图从 mysql 导入日期时间字段并使用以下函数在我的选择查询中格式化值DATE_FORMAT(created, '%Y-%m-%dT%H:%I:%S.00Z') -
很酷,谢谢!我现在对这个问题没有用处,但你想把它作为解决方案发布在下面吗?它可能会帮助其他人。
标签: csv datetime google-bigquery