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