python - Pycassa col_fam.get_indexed_slices(clause) 有什么问题

标签 python nosql cassandra cql pycassa

我不确定我是否缺少一些基本的编程规则或一些使用 PyCassa 的基本规则!

问题是: 我需要查询 cassandra 以显示具有值为 5 的 column5(列名称)的所有行。我可以在 for 循环内打印此结果,但不能在外部打印。 我当前的代码是:

expr2 = create_index_expression('column5', '5')
clause2 = create_index_clause([expr2], count=20)
for keyx, colx in col_fam.get_indexed_slices(clause):
      print colx

这可行,但不起作用的是:

expr2 = create_index_expression('column5', '5')
clause2 = create_index_clause([expr2], count=20)
for keyx, colx in col_fam.get_indexed_slices(clause):
    t = colx
    # ...
print t

我确实理解某些人,这个问题可能听起来太 child 气了...但是相信我,从上周末开始我就一直在思考这个问题,现在当没有其他选择时,我就在 Stackoverflow 上!

最佳答案

在第一个示例中,每次迭代都会打印 t,这会为满足条件的每条记录生成一行。在第二个中,t 在每次迭代期间都会被替换,因此只打印最终值。如果您只想打印它,您可以缩进打印语句以使其成为循环的一部分,尽管第一个示例适用于此。如果您想将其保存在列表中,请创建一个列表并在每次迭代中将 colx 附加到其中:

expr2 = create_index_expression('column5', '5')
clause2 = create_index_clause([expr2], count=20)
t=[]
for keyx, colx in col_fam.get_indexed_slices(clause):
    t.append(colx)
print t

关于python - Pycassa col_fam.get_indexed_slices(clause) 有什么问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9405056/

相关文章:

cassandra - 如何删除Cassandra中的记录?

python - 添加和减去纪元时间的最佳方法?

python - 尝试从运行在 Linux 上的 django 查询 SQL Server - 无法打开 lib '/path/to/libtdsodbc.so'

MongoDb 替换文档并在不存在时插入

MongoDB - 为什么 _id 索引不会在重复条目上引发错误?

cassandra - 用于休息通信 cassandra 的建模帐户

cassandra - Cassandra 用户定义函数的优缺点

Python 将逗号分隔列表转换为 pandas 数据框

python - 使用 uWSGI emperor 模式独立的 vassal 日志记录

java - Cassandra - 更新并选择大于的字段