为什么githubarchive中的某些包中连续事件JSON落在同一行上?
在Ilya Grigorik提供的内容中,我发现在许多gz文件中,一些连续事件被记录到同一个文件中 例如在2011-03-15-21.json.gz中 要获得上述信息,请执行以下操作: wget 例如,在这个gz中,如果您搜索id 1484832,您会发现两个连续的事件子事件在同一行中 看见 同一行中的两个JSON是 及 影响是什么? 当我加载每一行并用python的why python加载它时?因为我觉得python在处理jsons json.loads时很舒服,所以它说它是无效的,因为它是两个json的组合 问题: 1在处理github归档数据时,您是如何解决此类错误的 2我的本地计算机中已经有了这些数据。那么我该如何克服这个问题呢。我是否应该编写特定于此情况的代码以克服此问题? 我写的代码就像为什么githubarchive中的某些包中连续事件JSON落在同一行上?,json,github,github-archive,Json,Github,Github Archive,在Ilya Grigorik提供的内容中,我发现在许多gz文件中,一些连续事件被记录到同一个文件中 例如在2011-03-15-21.json.gz中 要获得上述信息,请执行以下操作: wget 例如,在这个gz中,如果您搜索id 1484832,您会发现两个连续的事件子事件在同一行中 看见 同一行中的两个JSON是 及 影响是什么? 当我加载每一行并用python的why python加载它时?因为我觉得python在处理jsons json.loads时很舒服,所以它说它是无效的,因为它
jsonlist = line.split('}{')
json.loads(jsonlist[0] + '}', "ISO-8859-1") # load and navigate through this json
json.loads('{' + jsonlist[1], "ISO-8859-1") # load and navigate through this json
我在这里找到了答案 1在处理github归档数据时,您是如何解决此类错误的? 。此脚本消除了两个或多个事件出现在同一行上的问题。 因此,现在在运行这个脚本之后,JSON出现在不同的行中 2我的本地计算机中已经有了这些数据。那么我该如何克服这个问题呢。我是否应该编写特定于此情况的代码以克服此问题?我写的代码就像 这个脚本消除了编写上面提到的代码的必要性 注: 在github中的上找到相关问题 警告: 当我运行这个脚本时,我得到了一个与使用的编码相关的错误。因为默认情况下,Yajl::Parser.parsejsonInputFile 行检查它解析的字符是否符合UTF-8编码,否则将抛出错误。 由于github数据还包含非UTF-8字符,因此在我们的示例中也会抛出此错误。因此,绕过这个问题可能是一个解决办法,我把它作为
Yajl::Parser.parse(jsonInputFile, :check_utf8 => false)
如有疑问,请参阅以下文件: