将列表转换为BigQuery表python


result = {'data1': [1,2], 'data2': [4,5]}

如果我的键只有一个值,我知道如何编写,但在这种情况下,它有一个值列表,我可以如何迭代。在BigQuery中创建表如下:

| data1    | data2          |
| -------- | -------------- |
| 1        | 4              |
| 2        | 5              |

我遇到了同样的问题,但我找不到解决方案,所以我所做的(我们所有的DB都在代码中作为服务进行管理(如下:

我正在获取表id,然后使用get_table(table_id)

现在,我将带有列表数据的table._properties['schema']['fields']发送到一个函数,该函数将其转换为Json

def __Convert_Data_To_Json(self,data,table_fields):       
if not(len(table_fields)==len(data[0])):
raise CannotCreateConnectionError(CANNOT_CREATE_CONNECTION_MESSAGE % str('Data length doesnt match table feild list'))
for row in data:
dataset={}
i=0
for col in row:                           
if col==None:
dataset[list(table_fields[i].values())[0]  ]=None
else:
dataset[list(table_fields[i].values())[0]  ]=str(col)
i+=1
self.__rows_to_insert.append(dataset)

然后使用insert_rows_json

最新更新