【问题标题】:Python - Phoenixdb is not returning column name with value instead it is returning list of values (row)Python - Phoenixdb 没有返回带有值的列名,而是返回值列表(行)
【发布时间】:2018-11-19 20:09:02
【问题描述】:

我在 python 中使用phoenixdb 库从 hbase 获取数据,然后在运行 sql 查询后,数据返回行值列表。

例如: 当我运行以下查询时。

cursor.execute("Select * from user")
cursor.fetchall()

结果显示

[abc@any.com, 9876543120, 26, 12-12-1976]

而不是像字典或关联数组这样的东西,这样我们就可以知道键和值,即列名和它的值

[email=>abc@any.com, phone=>9876543120, age=>26, dob=>12-12-1976]

【问题讨论】:

    标签: python-3.x hbase phoenix


    【解决方案1】:

    如果你想要字典结构的结果,在创建游标时设置 cursorFactory:

    cursor = conn.cursor(cursor_factory=phoenixdb.cursor.DictCursor)
    

    【讨论】:

    • 它有效!但是当我尝试访问data["Email"] 时。它抛出错误list indices must be integers or slices, not str
    • 是的,因为 fetchAll() 将返回一个列表。列是列表项的属性。因此,您必须迭代结果列表或使用索引。
    • 是的,知道了。谢谢!
    • 酷,如果有帮助,请随时投票或接受答案:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-18
    • 1970-01-01
    • 2020-02-13
    • 1970-01-01
    • 2017-08-22
    相关资源
    最近更新 更多