【问题标题】:PyCassa - ColumnFamily.get() - Now what?PyCassa - ColumnFamily.get() - 现在怎么办?
【发布时间】:2014-08-08 01:34:05
【问题描述】:

抱歉,这似乎是一个愚蠢的问题,但我在任何地方都找不到答案。

我有一个比较器类型为“TimeUUIDType”的列族

我可以对它进行插入没有问题,我也可以在没有任何问题的情况下继续运行并查看我的结果。

我在这里真正迷失的是,在我执行 get() 之后,我到底得到了什么?它是一个值数组吗?

如果有人能告诉我如何做一个简单的循环来遍历我的结果,那将是一个巨大的帮助!

当我执行 get 时,终端中的结果格式如下:

(键)->(列:值)(列:值)(列:值)

提前致谢!

【问题讨论】:

  • 您可以发布您的表架构的副本或示例吗?这将有助于为您的特定用例找到正确的答案。

标签: python cassandra pycassa


【解决方案1】:

如果没记错的话,你会得到一个元组

(key<string>, OrderedDict{column_name: column_value})

所以,如果你想遍历每一列,你会做类似的事情

for column_name, column_value in cf.get(...)[1].items():
    print column_name, column_value

**编辑/更正**

get() 的返回值只是列,而不是键和列。

for column_name, column_value in cf.get(...).items():
    print column_name, column_value

我正在考虑包含它们的 multiget / get_range ,因为您可能会返回不止一行。感谢@thobbs 的 pycassa 和更正。

【讨论】:

  • 谢谢 - 但正如我上面所说,我正在为我的列使用 TimeUUIDTypes,这会导致问题我实际上不知道任何给定列的名称,你知道我可以如何解决这个问题吗?
  • @Slippy 你想做什么迭代结果并不能解决?此外,为了对 sberry 的答案进行小幅更正,get() 仅返回列,而不是键和列的元组。
  • @TylerHobbs - 我正在尝试取回所有值以便我可以使用它们,但我的列名是 TimeUUID - 所以在任何时候我都不知道该列的顺序是什么获取值。
  • @TylerHobbs,sberry - 我是个白痴 - 我读了回复,并认为你的意思是“column_name”和“column_value”,它们是我的,但 column_name 和 column_value 的实际用法是有效的,因为是他们在结果中的样子。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-19
  • 1970-01-01
相关资源
最近更新 更多