使用python创建chatbot时出错(行数据)

时间:2017-12-19 20:02:44

标签: python artificial-intelligence chatbot

所以我创建了一个源自sentdex教程的聊天机器人,但我遇到了一个我无法弄清楚的错误。

我使用的是最新版本的python

聊天机器人代码:

    <i>
      import sqlite3
      import json
      from datetime import datetime

      timeframe = '2007-02'
      sql_transaction = []

      connection = sqlite3.connect('{}.db' .format(timeframe))
      c = connection.cursor()

      def create_table():
      c.execute("""CREATE TABLE IF NOT EXISTS parent_reply
      (parent_id TEXT PRIMARY KEY, comment_id TEXT UNIQUE, parent TEXT,
      comment TEXT, subreddit TEXT, unix INT, score INT)""")

      def format_data(date):
      data = data.replace("\n"," newlinechar ").replace("\r"," newlinechar 
      ").replace('"',"'")
      return data

      def find_parent(pid):
      try:
      sql = "SELECT comment FROM parent_reply WHERE comment_id = '{}' 
      LIMIT 1".format(pid)
        c.execture(sql)
        result = c.fetchone()
        if result != None:
            return result [0]
        else: return False
    except Exception as e:
        #print ("find_parent", e)
        return False


    if __name__ == "__main__":
    create_table()
    row_counter = 0

    paired_rows = 0

    with open("/home/anonymouz/Desktop/redditdata/{}/RC_{}".format(timeframe.split('-')[0], timeframe ), buffering=1000) as f:
        for row in f:
            print(row)
            row_counter += 1
            row = json.loads(row)
            parent_id = row['parent_id']
            body = format_data(row['body'])
            created_utc = row['created_utc']
            score = row['score']
            subreddit = row['subreddit']

            parent_data = find_parent(parent_id)<i>


And the error I am getting:
Traceback (most recent call last):
  File "/home/anonymouz/Desktop/redditdata/reddit.py", line 44, in <module>
    body = format_data(row['body'])
  File "/home/anonymouz/Desktop/redditdata/reddit.py", line 17, in format_data
    data = data.replace("\n"," newlinechar ").replace("\r"," newlinechar ").replace('"',"'")
UnboundLocalError: local variable 'data' referenced before assignment
>>> 

感谢所有能够提供帮助但并不粗鲁的人:) 具有正确缩进的更干净的代码版本:     https://pastebin.com/2ifpEQy9

1 个答案:

答案 0 :(得分:0)

def format_data(date):

您的参数是&#39; date&#39;但是你当地的数据是&#39;。

将参数名称更改为&#39;数据&#39;

def format_data(data):
    data = data.replace("\n"," newlinechar ").replace("\r"," newlinechar 
    ").replace('"',"'")
    return data