pandas read_gbq 不工作并显示错误

Posted

技术标签:

【中文标题】pandas read_gbq 不工作并显示错误【英文标题】:pnadas read_gbq is not working and showing an error 【发布时间】:2021-03-11 05:35:55 【问题描述】:

我正在尝试使用 Pandas 从 BigQuery 获取数据表。 我决定使用 pandas read_gbq,但它没有按预期工作并出现错误。

projectid = 'my-dev-2'
query = 'select * from firestore.mylog;'
df = pd.read_gbq(query, projectid, dialect='standard')

然后出现错误

AttributeError: Can only use .dt accessor with datetimelike values

实际上,如果我尝试除时间戳列之外的其他方法,它可以正常工作,所以我猜时间戳列中的值有问题。 有什么办法可以修复或忽略它?

【问题讨论】:

您的列可能是字符串或任何其他类型,或者某些值不是日期时间类型 感谢您的信息。我无法修复数据库包含的内容,所以您知道我可以使用 python 环境直接连接到 bigquery 吗? 【参考方案1】:

尝试将TIMESTAMP 类型的列转换为STRING 类型。

例如

query = """
    SELECT CAST(timestamp_column AS STRING)
         , ...
    FROM   firestore.mylog;
"""

【讨论】:

以上是关于pandas read_gbq 不工作并显示错误的主要内容,如果未能解决你的问题,请参考以下文章

尝试使用 pandas.read_gbq() 函数时,pandas-gbq 抛出错误“找不到字段 google.protobuf.FileOptions.php_metadata_namespace”

在 Jupyter Notebook 中进行时,pandas.read_gbq() 在哪里“保存”查询?

如何防止 pandas.read_gbq 推断列的数据类型

如何将 dryRun 参数发送到 pandas.read_gbq 函数

如何在使用 Pandas.read_gbq 加载带有列表列的表后恢复结构?

Pandas GenericGBQException