В http://www.githubarchive.org/, который предоставил Илья Григорик, я обнаружил, что во многих gz-файлах некоторые последовательные события регистрируются в одном файле.Почему последовательные события jsons попадают в одну строку в некоторых пакетах в githubarchive?
, например, в 2011-03-15-21.json.gz
Чтобы получить выше сделать: Wget http://data.githubarchive.org/2011-03-15-21.json.gz
В этом GZ, например, если вы ищете идентификатор 1484832, вы можете найти что 2 последовательных событий (jsons) находятся в той же строке см http://codebeautify.org/jsonviewer/2cb891
два jsons в одной строке представляет собой сочетание
http://codebeautify.org/jsonviewer/c7e18e
и
http://codebeautify.org/jsonviewer/945d56
.
Какое влияние? Когда я загружал каждую строку и загружал ее с помощью python (почему python? Потому что я чувствовал, что python удобен в работе с jsons) json.loads, он сказал, что он недействителен, поскольку это комбинация двух jsons.
Вопрос:
1) Как вы решить такого рода ошибок при обработке, что архивные данные GitHub?
2) У меня уже есть данные в моем местном. так как я могу преодолеть эту проблему. Должен ли я написать код, специфичный для этого случая, для преодоления? код я написал, было как
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