json.loads()函数导致字符串终止异常

时间:2019-01-04 00:04:20

标签: python json

我正在遵循一个教程系列,在这里使用python和tensorflow创建一个聊天机器人:https://www.youtube.com/watch?v=9os9uQJqDbI&list=PLQVvvaa0QuDdc2k5dwtDTyT9aCja0on8j&index=5

当我像在视频结尾处一样运行代码时(第5页),我会收到此错误:

Traceback (most recent call last):
  File "C:\Users\camer\OneDrive\Desktop\Datasets\ChatBot\chatbot_database.py", line 101, in <module>
    row = json.loads(row)
  File "C:\Users\camer\AppData\Local\Programs\Python\Python36\lib\json\__init__.py", line 354, in loads
    return _default_decoder.decode(s)
  File "C:\Users\camer\AppData\Local\Programs\Python\Python36\lib\json\decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\Users\camer\AppData\Local\Programs\Python\Python36\lib\json\decoder.py", line 355, in raw_decode
    obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Unterminated string starting at: line 1 column 368 (char 367)

我的代码与视频几乎完全相同,并且我正在使用here中的RC_2015-05.bz2文件

我在Windows 10上使用python 3.6,我也在3.5上尝试过。

代码是否有错误,或者文件有问题?另外,我看到一则帖子说文件可能已损坏。我怎么知道是这样,如果是,该怎么办?

感谢您的帮助

编辑: 这是导致错误的部分代码:

for row in f:
            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']
            comment_id = row['name']
            parent_data = find_parent(parent_id)

f是文件。

0 个答案:

没有答案