我的脚本是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:\Users\me\Desktop\pro1\src\pro1.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])
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。