首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Redis-Py AttributeError:'int‘对象没有'items’属性

Redis-Py AttributeError:'int‘对象没有'items’属性
EN

Stack Overflow用户
提问于 2019-02-07 14:59:30
回答 2查看 4.3K关注 0票数 1

当我试图用Python将数据加载到Redis时,我得到了这个错误。

代码如下:

代码语言:javascript
复制
 zkey = 'test'
 k = 15648
 nval = '15648-barry'
 redis.zadd(zkey, k, nval)

这就是错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "test.py", line 131, in main
    redis.zadd(zkey, k, nval)
  File "/usr/local/lib/python3.6/dist-packages/redis/client.py", line 2320, in zadd
    for pair in iteritems(mapping):
  File "/usr/local/lib/python3.6/dist-packages/redis/_compat.py", line 122, in iteritems
    return iter(x.items())
AttributeError: 'int' object has no attribute 'items'

我在Github上发现了这个问题:https://github.com/rq/rq/issues/1014

问题已经解决,解决方案应该是安装我运行的RQ 0.13:

代码语言:javascript
复制
sudo pip3 install rq

并成功安装。然后重启redis-server。

然而,我仍然得到相同的错误。

这个问题还有其他解决方案吗?

规格:

代码语言:javascript
复制
Python 3.6.7
RQ 0.13
Redis-Server 4.0.9
Pip3 redis 3.1.0
Ubuntu 18.04.1 LTS
EN

回答 2

Stack Overflow用户

发布于 2019-02-18 19:20:05

不要安装任何新的东西。

根据错误,转到指定的文件,您将发现:

代码语言:javascript
复制
# "/usr/local/lib/python3.6/dist-packages/redis/client.py"
def zadd(self, name, mapping, nx=False, xx=False, ch=False, incr=False):

他们需要名字和分数作为字典来传递。

在这里,mapping是->分数的名称字典。

如下所示:

代码语言:javascript
复制
zkey = 'test'
dict = {}
dict['15648-barry'] = 15648
redis.zadd(zkey,dict)
票数 4
EN

Stack Overflow用户

发布于 2021-05-07 01:37:13

好的,你可以使用pandas.Dataframe.todict()

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54567896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档