我已使用pandas read_json
将嵌套对象的json数据读入数据框。
我想使用pandas Google Big Query
将这些数据推送到to_gbq
,但对于嵌套元素,会出现如下错误:
StreamingInsertError: Error at Row: 0, Reason: invalid, Location: payment_details, Message: This field is not a record.
其中数据框如下所示:
df['payment_details'][1]
{u'credit_card_bin': u'xxxx', u'avs_result_code': u'Y', u'credit_card_company': u'Visa', u'cvv_result_code': u'M', u'credit_card_number': u'yyy'}
如何对待它以便GBQ将其作为记录消费?
在将对象映射到字符串时,问题似乎很明显pandas_gbq/gbq.py
type_mapping = {
'i': 'INTEGER',
'b': 'BOOLEAN',
'f': 'FLOAT',
'O': 'STRING',
'S': 'STRING',
'U': 'STRING',
'M': 'TIMESTAMP'
}
答案 0 :(得分:1)
pandas_gbq
不支持结构或数组,并且在pandas DataFrame
s
如果您使用结构,可以在DataFrame
中使用多个列吗?