gpt4 book ai didi

python - pycassa TypeError : A str or unicode, 无法插入 cassandra

转载 作者:太空狗 更新时间:2023-10-30 01:16:35 25 4
gpt4 key购买 nike

我的脚本是 python,cassandra 是 data 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 <module>
str("swf"): str("aws")
File "c:\Python27\lib\site-packages\pycassa\columnfamily.py", line 969, in insert
mut_list = self._make_mutation_list(columns, timestamp, ttl)
File "c:\Python27\lib\site-packages\pycassa\columnfamily.py", line 504, in _make_mutation_list
columns.iteritems())
File "c:\Python27\lib\site-packages\pycassa\columnfamily.py", line 503, in <lambda>
return map(lambda (c, v): Mutation(self._make_cosc(_pack_name(c), _pack_value(v, c), timestamp, ttl)),
File "c:\Python27\lib\site-packages\pycassa\columnfamily.py", line 462, in _pack_value
return packer(value)
File "c:\Python27\lib\site-packages\pycassa\marshal.py", line 231, in pack_bytes
% (v.__class__.__name__, str(v)))
TypeError: A str or unicode value was expected, but int was received instead (3902503)

似乎我在这里遗漏了一些非常细微的东西......所以这就是为什么我来这里请教专家!

最佳答案

确保您的值与您的列族类型匹配。看来您的列族要么是 BytesType 要么没有与之关联的类型,因此 pycassa 将只接受字符串值。您可以使用带有嵌套字典理解的列表理解将所有值映射到 str(后者需要 python 2.7 及更高版本):

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

关于python - pycassa TypeError : A str or unicode, 无法插入 cassandra,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12446033/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com