错误,值太多无法取消

2024-04-24 08:39:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要更正此异常:“太多值无法解包”

这是我的源代码:如果我的数据库中不存在一个节点,我需要插入一个节点,或者如果它存在,我只添加与新节点的新关系:)

from tweepy import Stream
from tweepy import OAuthHandler
from tweepy.streaming import StreamListener
import time
import tweepy
import codecs
import json
from time import clock
from py2neo import neo4j
from py2neo import node,rel

cle = 'NorVSuR1eh0xdzkex4Y4mA'
clesecrete = 'F0AbGFdmMrwNhDKYGKzEQrqXTMEViKW'
jeton = '2234554214-sBqwoOCCEBVRktuCBeVdVhu6dluUfLSbecq'
jetonsecret = 'KaagCeViNedcHrSctsGoXNHq0nWTV6E4t6x4ddXrYzL'
graph_db = neo4j.GraphDatabaseService("http://localhost:7474/db/data/")

class listener(StreamListener):
     def on_data(self,data):

       try:
           if 'text' in data:

                tweet = json.loads(data)

                if tweet['in_reply_to_screen_name'] != None:
                    user_scr_Com=tweet['user']['screen_name']
                    print user_scr_Com
                    nod = list(graph_db.find("user_qui_a_commenter", "screen_name" , user_scr_Com ))
                    print nod

                         if len(nod)>0 :
                          for nd in nod:
#**#-My problem is here: I have a except Error, too many values to unpack**

                              User_Publication,text= graph_db.create(    
                                  node(Screen_name_User_Publication=tweet['in_reply_to_screen_name']),
                                  node(Commentaire=tweet['text'],Id_text=tweet['id_str'],source=tweet['source']),
                                  rel(nd, "user_a_commenter", 1),
                                  rel(1, "pour", 0))

                              User_Publication.add_label("user_status")
                              text.add_label("Commentaire")

                          else :
                         user_qui_a_commenter,User_Publication,text= graph_db.create(
                           node(Screen_name=tweet['user']['screen_name'],name=tweet['user']['name'],Id=tweet['user']['id_str'],Description=tweet['user']['description'],followers_count=tweet['user']['followers_count'],friends_count=tweet['user']['friends_count'],favourites_count=tweet['user']['favourites_count'],created_at=tweet['user']['created_at'],langue=tweet['user']['lang'],location=tweet['user']['location']),
                           node(Screen_name_User_Publication=tweet['in_reply_to_screen_name']),
                           node(Commentaire=tweet['text'],Id_text=tweet['id_str'],source=tweet['source']),
                           rel(0, "A_commenter_Pour", 1),
                           rel(0, "user_a_commenter", 2))
                         user_qui_a_commenter.add_label("user_qui_a_commenter")
                         User_Publication.add_label("user_status")
                         text.add_label("Commentaire")

谢谢你。我需要你的帮助


Tags: textnamefromimportnodedbdatacount
1条回答
网友
1楼 · 发布于 2024-04-24 08:39:24

错误与此行关联

User_Publication,text= graph_db.create(...

你期望从结果得到一个二元组,但你得到的不止这些。在

我对Neo4j一无所知,但是from here看起来你得到的东西和你放进去的一样多。如果你期望一个四元组元素。在

# create two nodes with a connecting relationship
alice, bob, rel = graph_db.create(
    {"name": "Alice"}, {"name": "Bob"},
    (0, "KNOWS", 1, {"since": 2006})
)

这样就能解决你的问题了

User_Publication, text, var3, var4 = graph_db.create(...

在您的代码中,这看起来会再次发生。将为关系和节点返回项。在

相关问题 更多 >