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

问题描述 投票:0回答:1

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

我正在使用最新版本的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

python artificial-intelligence chatbot
1个回答
0
投票
def format_data(date):

您的参数是“日期”,但您的本地是“数据”。

将参数名称更改为“数据”

def format_data(data):
    data = data.replace("\n"," newlinechar ").replace("\r"," newlinechar 
    ").replace('"',"'")
    return data
© www.soinside.com 2019 - 2024. All rights reserved.