【问题标题】:Insert timestamp into bigquery table using pandas使用 pandas 将时间戳插入 bigquery 表
【发布时间】:2020-01-13 04:48:48
【问题描述】:

我在 Google bigquery 中有一个表,其中一列设置为数据类型时间戳。

我必须使用 pandas 的 to_gbq 函数插入数据。

如果我将数据类型设置为字符串而不是时间戳,则数据将加载到表中。

但我希望该列是时间戳数据类型。

如何将数据帧的列类型转换为与 Google bigquery 兼容的时间戳。

错误

表架构

【问题讨论】:

    标签: pandas google-bigquery python-bigquery


    【解决方案1】:

    时间戳存储为int64 数据类型或int,因此如果您想以这种方式对其进行格式化,可以将您的列转换为pandas 中的这种数据类型。

    import numpy as np
    import pandas as pd
    df.COLUMN_OBJECT = df.COLUMN_OBJECT.astype(np.int64)
    df.COLUMN_DATETIME = df.COLUMN_DATETIME.apply(lambda x: x.timestamp).astype(np.int64)
    

    时间戳可以以秒、毫秒或 ns 为单位。

    【讨论】:

    • 如何转换现有数据框的列??
    • 从什么转换,原来是什么数据类型?
    • 一列有对象作为数据类型,另一列有 datetime64[ns],我希望两者都是时间戳
    • 我更新了答案,向您展示如何转换它们。
    • 有点 SO 规则,你不能扩大一个问题的范围,你应该问另一个问题。始终显示代码尝试、sn-ps、示例数据和错误消息,以便人们可以帮助您。 SO 不是您希望人们编写代码的编码服务,它是一个社区,人们可以帮助并指导您完成尝试的解决方案。
    猜你喜欢
    • 2016-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多