Python JSON数据加载困惑"期待,分隔符"错误

时间:2018-05-04 02:32:24

标签: python json delimiter

尝试实现此代码并继续收到以下错误。我搜索并尝试了一切,没有任何东西让我超越它。

import json
import sys
import re
import os
reload(sys)
sys.setdefaultencoding('utf8')
path = '/Users/.../'  #(The actual path is in my code)
textfiles = []
for root, dirs, files in os.walk(r'/Users/.../'):
    for file in files:
        if file.endswith(".txt"):
            textfiles.append(file)
        for filename in textfiles:
            with open(path + filename) as json_data:
                data = json.load(json_data)
                opinion = data['plain_text']
                f = open(path + filename, 'w')
                f.write(opinion)
                f.close()

然后,我不断收到此错误:

  

ValueError:Expecting,delimiter:第17行第3列(char 765)

2 个答案:

答案 0 :(得分:2)

显然你的问题在于JSON文件..但是哪一个?其中??

如果您输入try/except子句,则可以记录并查看导致问题的文件,以便您可以更轻松地进行调试。

import json
import sys
import re
import os
reload(sys)
sys.setdefaultencoding('utf8')
path = '/Users/.../'  (The actual path is in my code)
textfiles = []
for root, dirs, files in os.walk(r'/Users/.../'):
    for file in files:
        if file.endswith(".txt"):
            textfiles.append(file)
        for filename in textfiles:
            try:
                with open(path + filename) as json_data:
                    data = json.load(json_data)
                    opinion = data['plain_text']
                    f = open(path + filename, 'w')
                    f.write(opinion)
                    f.close()
            except ValueError as e:
                print(filename) # Gives the filename
                print(e)  # Gives the location of the problem in the file

此外,它应该继续遍历文件并提供有问题的错误。

您甚至可以保存到log.txt以便以后处理..

这是一个小例子

lst = [1, 2, '3', 4, 5]

for i in lst:
    try:
        l = 123 + i
        print(l)
    except Exception as e:
        print(e)

输出:

124
125
unsupported operand type(s) for +: 'int' and 'str'
127
128

答案 1 :(得分:1)

它说你的一个JSON文件中第17行缺少逗号。哪一个?错误应该有更多的上下文,但如果没有,你应该尝试通过处理较小批量的文件来隔离它。

另外,为什么JSON数据中会有700多个字符?