tweet结果上的json.load或json.load()

tweet结果上的json.load或json.load(),json,python-3.x,twitter,Json,Python 3.x,Twitter,我使用此代码从我在文件中编写的提要中获取tweet。 当我读取文件并尝试将行json时,总是会出现错误 def SearchTwt(api): os.chdir('/Users/me/Desktop') SearchResult = api.search( q='market',lang='en',rpp=20) text_file = open("TweetOut.txt", "w") for tw in SearchResult: te

我使用此代码从我在文件中编写的提要中获取tweet。 当我读取文件并尝试将行json时,总是会出现错误

    def SearchTwt(api):
    os.chdir('/Users/me/Desktop')
    SearchResult = api.search( q='market',lang='en',rpp=20)
    text_file = open("TweetOut.txt", "w")
    for tw in SearchResult:
        text_file.write(str(tw))
        print(str(tw))
    text_file.close()
我阅读文件时带着:

    def readfile():
    tweets_data = []
    os.chdir('/Users/me/Desktop')
    file = open("TweetOut.txt", "r")

    for line in file:
        parts = line.split("Status(")

        print (len(parts))
        for part in parts:
            tweet = 'Status('+part
            if len(tweet) > 10:
                tweetj = json.loads(tweet)
                #tweets_data.append(tweet)
                print(tweet)
    file.close()
用str(tw)填充文件可能是错误的吗?是的,我在阅读过程中重建了字符串,因为我认为tweet是这样开始的。因此,这可能是另一个错误

我尝试了很多其他的选择

错误: 从None引发JSONDecodeError(“预期值”,s,err.value) json.decoder.JSONDecodeError:预期值:第1行第1列(字符0)

文件如下所示开始(按堆栈要求编辑url):
状态(source='SocialFlow',id=757991135465857024,在对状态的回复中,id=None,是'quote'u Status=False,entities={'hashtags':[],'user\u indications':[],'symbols':[],'url':[{'url':'','expanded\u url':'','display\u url':

文件不是有效的JSON。它应该类似于

{
  "source": "SocialFlow",
  "id":"757991135465857024",
  ...
  "entities": {
    "hashtags": [], 
    "user_mentions": [],
    ...
  }
}

因为它不是有效的json,所以您必须以不同的方式解析它,或者确保在保存文件时将其作为json写入。

该文件不是有效的json。它应该类似于

{
  "source": "SocialFlow",
  "id":"757991135465857024",
  ...
  "entities": {
    "hashtags": [], 
    "user_mentions": [],
    ...
  }
}

因为它不是有效的json,所以您必须以不同的方式解析它,或者在保存文件时确保将其写入json。

Ok我将文件另存为txt。我将尝试以下方法:代码:json.dump(SearchResult,text_file,sure_ascii=False)raise TypeError(repr(o)+“is not json serializable”)我没有给你代码…只是观察到你的JSON是错误的。加上我不知道你存储的所有JSON,所以我无法帮助你编写实际的代码…这就是为什么我用三个点来表示填充空格。别担心,我在这一个上尝试了很多不同的代码。我可以很容易地拆分()完整的twit会自动更新,但会决定json将更加优雅。添加{}也没有帮助。只是您没有将其保存为json。它是无效的。如果它是json,则不需要进行任何拆分,只需读取所有内容并用json.loads()解析即可好的,我将文件另存为txt。我将尝试以下方法:代码:json.dump(SearchResult,text_file,确保_ascii=False)raise TypeError(repr(o)+“不是json序列化的”)我没有给你代码…只是观察到你的JSON是错误的。加上我不知道你存储的所有JSON,所以我无法帮助你编写实际的代码…这就是为什么我用三个点来表示填充空格。别担心,我在这一个上尝试了很多不同的代码。我可以很容易地拆分()完整的twit会自动更新,但会决定json将更加优雅。添加{}也没有帮助。只是您没有将其保存为json。它是无效的。如果它是json,则不需要进行任何拆分,只需读取所有内容并用json.loads()解析即可