在YYYY-MM-DD HH:MM [:SS [.SSSSSS]]中转换日期时间

Fil*_*ano 1 python python-2.7 google-bigquery

我收到此错误:

Could not parse 'event_date' as a timestamp. Required format is YYYY-MM-DD HH:MM[:SS[.SSSSSS]]
Run Code Online (Sandbox Code Playgroud)

尝试插入行时从BigQuery中获取。

这是我的代码:

bigquery_client = bigquery.Client.from_service_account_json(CREDENTIALS_BIGQUERY, 'roas-164016')
dataset = bigquery_client.dataset(BQ_LOGS_DATASET_NAME)
table = dataset.table(BQ_EMAIL_SENDS_TABLE_NAME)

data = {}
now = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
data['send_id'] = 'test'
data['uid'] = 'test'
data['account_id'] = 'test'
data['subaccount_id'] = 'test'
data['event_id'] = 'test'
data['event_date'] = now
data['html_content'] = 'test'
data['campaign_name'] = 'test'
data['subject'] = 'test'
data['send_type'] = 'test'

json_data = json.dumps(data)

data =  json.loads(json_data)
table.reload()

rows = [data]
errors = table.insert_data(rows)
Run Code Online (Sandbox Code Playgroud)

如何修复日期格式?

Bat*_*man 5

如果这确实是您所需要的。

now = datetime.now().strftime("%Y-%m-%d %H:%M[:%S[.%f]]")
Run Code Online (Sandbox Code Playgroud)

方括号更有可能表示可选部件。所以:

now = datetime.now().strftime("%Y-%m-%d %H:%M")
Run Code Online (Sandbox Code Playgroud)

要么

now = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
Run Code Online (Sandbox Code Playgroud)

要么

now = datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f")
Run Code Online (Sandbox Code Playgroud)