csv - Bigquery 日期时间格式 csv 到 bigquery YYYY-MM-DD HH :MM[:SS[. SSSSSS]]

标签 csv datetime google-bigquery

阅读了许多日期时间格式化问题,但找不到合适的。 -显然-已经尝试用谷歌搜索这个。

我在 csv 文件上有一些日期时间信息,我将其上传到 bigquery 以创建新表。 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\CYYYY-MM-DD\THH:MM:SS 时,它在 Excel 中看起来不错,但我从 BQ 收到与上面相同的错误消息。

以 CSV 形式存储数据以使其与 BQ 兼容的正确方法是什么?

最佳答案

我遇到了同样的问题,并使用以下格式解决了这个问题: YYYY-MM-DDTHH:MM:SS.00Z。我使用 TIMESTAMP 数据类型的以下示例作为引用: https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#examples

当时,我尝试从 MySQL 导入 DATETIME 字段,并使用以下函数来格式化值 DATE_FORMAT(created, '%Y-%m-%dT%H:%I:%S. 00Z') 在我的 SELECT 查询中。

关于csv - Bigquery 日期时间格式 csv 到 bigquery YYYY-MM-DD HH :MM[:SS[. SSSSSS]],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47466296/

相关文章:

google-bigquery - 使用表名中的字符定义大查询 dbt 源?

google-bigquery - BigQuery 通过查询获取表架构

google-bigquery - BigQuery : cast integer column as date interval and add to date column

sql - 扫描CSV文件后生成DDL SQL创建表语句

sql-server - 在 MS SQL 中创建 "date updated"列?

python - 尝试从从两个函数打印的函数返回一个数据集

java - 如何解析日期时间并将其与相应的时区关联

datetime - 为什么输出中出现负号?

Python Pandas 如果数字相等则合并

csv - 将CSV数据加载到多个表中