You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中从Cassandra获取列表(List)类型列的值

在Python中从Cassandra数据库获取List类型列的值

首先确保你已经安装了官方的Cassandra Python驱动:

pip install cassandra-driver

操作示例

假设你有一个名为users的表,结构如下:

CREATE TABLE users (
    user_id UUID PRIMARY KEY,
    name TEXT,
    hobbies LIST<TEXT>
);
  1. 连接集群并初始化会话
from cassandra.cluster import Cluster
from cassandra.auth import PlainTextAuthProvider

# 集群开启认证时需添加auth参数
auth_provider = PlainTextAuthProvider(username='your_username', password='your_password')
cluster = Cluster(['127.0.0.1'], auth_provider=auth_provider)
session = cluster.connect('your_keyspace_name')  # 替换为你的keyspace名称
  1. 执行查询并提取List类型数据
    Cassandra驱动会自动将数据库中的LIST类型映射为Python原生list,直接从结果对象中提取即可:
# 查询单条数据
user_id = 'your-user-uuid-here'
result = session.execute("SELECT hobbies FROM users WHERE user_id = %s", (user_id,))
row = result.one()
if row:
    user_hobbies = row.hobbies  # 直接得到Python list
    print(user_hobbies)  # 输出示例: ['reading', 'hiking', 'coding']

# 查询多条数据
results = session.execute("SELECT user_id, hobbies FROM users")
for row in results:
    print(f"用户 {row.user_id} 的爱好: {row.hobbies}")

注意事项

  • 如果List中存储的是复杂类型(比如LIST<UDT>或LIST<TUPLE>),驱动会自动转换为对应的Python对象(自定义类或tuple),直接使用即可。
  • 建议使用参数绑定(%s占位符)编写查询,避免SQL注入风险。
  • 查询完成后记得关闭集群连接:cluster.shutdown()

内容的提问来源于stack exchange,提问作者Priya Baweja

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 05:48:19