使用 pandas-gbq 将空值插入 BigQuery

Inserting Null values into BigQuery using pandas-gbq

我有一个 BigQuery table,我希望使用 pandas-gbq 来填充它。 table 有一个预定义的模式,其中包括可为空的 int 和字符串字段。目前,我正在为每个数据字段生成一个列表的 dict,并在缺少值时放置 pandas.NANone(我都试过了)。我目前缺少可为空的 int 字段之一的值,例如:

df_dict = {'ints': [1,2,None, 3], 'strings': ['a','b','c','d']}
df = pandas.DataFrame(df_dict)
df.astype({"ints":"int", "strings":"object"}) # throws error on None in ints

最终我想使用预先存在的架构将其上传到 BigQuery,因此我需要 pandas-gbq 和 BigQuery 本身可以接受的空值格式。有什么想法吗?

您可以尝试使用它在 pandas

中将列转换为整数类型
df.astype({"ints":"Int64", "strings":"object"})

应该能够处理无值或空值。除此之外,您必须确保 BigQuery 中的列被定义为可空。