1

我需要根据 Oracle 查询结果创建一组字典。

我的数据按站点 ID、日期、时间、位置、物种和捕获重量排列。对于每个物种,都有一条新线,而所有位置等数据可能是多余的。

首先,我需要按字段名和值创建一个键控字典,例如 stationID、日期等,这样当我调用时,

value[1]  (this being the station ID field)

我明白了

112

最终结果是将所有“喜欢”的站点 ID、日期等合并到一个唯一键中——结果数据(渔获量)是值。

[date,time,location, etc]:鳕鱼 47、鳕鱼 31、角鲨 5

到目前为止,要按字段名称然后按行将数据解析为单独的键控字典,我有这个:

desc=[d[0] for d in cursor.description]
field=[d[1] for d in cursor.description]
value=dict(zip(desc,field))   
result=[dict(zip(value,line)) for line in cursor]
print result[1]

但是,如果我尝试调用值,则该字段只是数据类型。我怎样才能获得实际的数据值?然后将其嵌套到解析每个单独样本的“结果”字典中?

4

1 回答 1

3

您将错误的物品拉在一起。仅 Zipdescline,您不需要使用cursor.description元组中的第二项:

desc=[d[0] for d in cursor.description]
result=[dict(zip(desc, line)) for line in cursor]
于 2012-12-17T15:37:09.410 回答