加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – pycassa TypeError:str或unicode,无法执行cassandr

发布时间:2020-12-16 21:57:12 所属栏目:Python 来源:网络整理
导读:我的脚本是python,cassandra是数据stax社区版. TypeError: A str or unicode value was expected,but int was received instead (3902503) 这是我在尝试插入cassandra列族时遇到的错误. 代码如下: for x in feed: cf.insert(uuid.uuid4(),x) x是一个简单的

我的脚本是python,cassandra是数据stax社区版.

TypeError: A str or unicode value was expected,but int was received instead (3902503)

这是我在尝试插入cassandra列族时遇到的错误.

代码如下:

for x in feed:
    cf.insert(uuid.uuid4(),x)

x是一个简单的数组,形式为“{key:value}”

错误日志表明:

    Traceback (most recent call last):
      File "C:UsersmeDesktoppro1srcpro1.py",line 73,in 

似乎有一些我在这里失踪的东西…这就是为什么我来这里问专家!

最佳答案
确保您的值与列族类型相匹配.您的列族似乎是BytesType或没有与之关联的类型,因此pycassa只接受字符串值.您可以使用嵌套字典理解的列表推导将所有值映射到str(后者需要python 2.7及更高版本):

cf.insert(uuid.uuid4(),[{k: str(v) for k,v in d.iteritems()} for d in x])

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读