删除JSON/Python中twitters extended_tweet列的不必要详细信息

删除JSON/Python中twitters extended_tweet列的不必要详细信息,python,json,regex,pandas,twitter,Python,Json,Regex,Pandas,Twitter,我用推特刮板下载了一些关于上次体育赛事的推特。不幸的是,由于研究的性质,我不能回去修改我的刮板,因为事件不会再次发生。推文分为几个类别,如时间戳、创建日期等 这些tweet存储在JSON文件中,我目前正在将它们导出到pandas 我关注的是每条推文细节中的文本和扩展的推文类别 不久前,Twitter允许用户发布更长的推文。当涉及到抓取推特数据时,如果推特在初始字符限制(140?我相信)以下,那么整个推特的文本将显示在文本类别中,没有任何问题,这正是我未来研究所需要的 但是,任何超过字符限制的推文

我用推特刮板下载了一些关于上次体育赛事的推特。不幸的是,由于研究的性质,我不能回去修改我的刮板,因为事件不会再次发生。推文分为几个类别,如时间戳、创建日期等

这些tweet存储在JSON文件中,我目前正在将它们导出到pandas

我关注的是每条推文细节中的文本和扩展的推文类别

不久前,Twitter允许用户发布更长的推文。当涉及到抓取推特数据时,如果推特在初始字符限制(140?我相信)以下,那么整个推特的文本将显示在文本类别中,没有任何问题,这正是我未来研究所需要的

但是,任何超过字符限制的推文在“文本”类别中显示如下:

@thedamon@getify我担心添加新术语会增加复杂性,并可能使人们更难学习JavaScript。A..
StackOverflow不允许我显示下面的短URL,但本质上,正如我刚才所说的,它是完整帖子的短twitter URL

如您所见,文本以“…”结尾,后跟链接。 要查看全文,我需要查看“extended_tweet”类别,然后将信息放在如下位置:

{'full_text':'@thedamon@getify我担心添加新术语会增加复杂性,并可能使人们更难学习JavaScript。排序函数是发送给排序的函数。学习新的缩写词会增加不必要的复杂性。','display_text_range':[18229],'entities':{'hashtags':[],'url':[],'user_indications:[{'screen_name':'thedamon','name':'Damon Muma','id':29938474,'id_str':'29938474','index':[0,9]},{'screen_name':'getify','name':'getify','id':16686076,'id_str 16686076','index':[10,17]},'symbols':[]}

正如你所看到的,这比文本要详细得多

我目前正在使用Python,并试图用regex来概括我的想法。我可以轻松地从索引[I]到索引[j]分割字符串,但由于所有tweet的长度不同,我需要确保我从tweet开始的那一点开始分割tweet,“全文”:&&“显示文本范围”

我并不是要求别人帮我做作业,但我已经在这个问题上纠结了一段时间,我最初认为简单的事情结果比我想象的要困难得多

有没有人能给我一些建议或建议,让我自己解决这个问题


谢谢

为什么不解析JSON以获取
全文
属性

导入json
数据=“”
{“全文”:“@thedamon@getify我担心添加新术语会增加复杂性,并可能使人们更难学习JavaScript。排序函数是发送给排序的函数。学习新的缩写词会增加不必要的复杂性。”,“display_text_range”:[18229],“entities”:{“hashtags”:[],“url”:[],“user_提及”:[{“屏幕名称”:“thedamon”,“name”:“Damon Muma”,“id”:29938474,“id_str”:“29938474”,“index”:[0,9]},{“屏幕名称”:“getify”,“name”:“getify”,“id”:16686076,“id_str”:“16686076”,“index”:[10,17],“符号”:[]}”
parsed_data=json.load(数据)
打印(解析的数据['full_text'])#打印完整的tweet'@thedamon@getify我担心…不必要的复杂性。'

为什么不解析JSON以获取
全文
属性

导入json
数据=“”
{“全文”:“@thedamon@getify我担心添加新术语会增加复杂性,并可能使人们更难学习JavaScript。排序函数是发送给排序的函数。学习新的缩写词会增加不必要的复杂性。”,“display_text_range”:[18229],“entities”:{“hashtags”:[],“url”:[],“user_提及”:[{”屏幕名称:“thedamon”,“name”:“Damon Muma”,“id”:29938474,“id_str”:“29938474”,“index”:[0,9]},{“屏幕名称”:“getify”,“name”:“getify”,“id”:16686076,“id_str”:“16686076”,“index”:[10,17],“符号”:[]}”
parsed_data=json.load(数据)
打印(解析的数据['full_text'])#打印完整的tweet'@thedamon@getify我担心…不必要的复杂性。'

有没有一种方法可以在JSON文件中的每一行中实现这一点?一些tweet包含扩展tweet方面的“NaN”,因为它们足够短,可以放入文本,我需要我的代码为大文件中的每一条tweet(40k+tweets)提取它这包含全文字段中的条目最后一条评论。解析正是我所需要的,以实现我的目标。非常感谢您的帮助,代码中的一些小问题,但没有我自己无法解决的问题,感谢您为我指明了正确的方向!您可以使用
open
函数,然后对其进行相应的解析。如果JSON文件包含一系列tweet,那么只需像python dicts一样解析、循环和访问。使用
JSON.load
读取文件有没有一种方法可以对JSON文件中的每一行执行此操作?一些tweet包含扩展tweet方面的'NaN',因为它们足够短,可以我需要我的代码为一个大文件中的每条tweet(40k+tweets)提取它这包含全文字段中的条目最后一条评论。解析正是我所需要的,以实现我的目标。非常感谢您的帮助,代码中的一些小问题,但没有我自己无法解决的问题,感谢您为我指明了正确的方向!您可以使用
open
函数,然后相应地对其进行解析。如果JSON文件包含tweet数组,则只需像python dicts一样进行解析和循环访问即可。使用
JSON.load
读取