Как удалить первый ключ файла JSON?
У меня очень большой 5 ГБ файл JSON. Я пытаюсь удалить первый ключ из файла.
Входные данные:
{"url":"example.com","original_url":"http://example.com","text":"blah...blah"...}
Я старался:
jq 'del(.url)' file.json > out.josn
Эта команда работала нормально, пока я не наткнулся на ошибку:
aims@aims:~$ jq 'del(.url)' file.json > out.json
parse error: Invalid numeric literal at line 680284, column 49
Пожалуйста, дайте мне знать решение. В чем проблема в jq
?
1 ответ
Загрузите данные json как словарь Python и вставьте определенный ключ
#!/usr/bin/env python
import json,sys
with open(sys.argv[1]) as f:
for line in f:
data=json.loads(line)
data.pop('url')
json.dump(data,sys.stdout)
print("")
Тестовое задание:
$ cat input.txt
{"url":"example.com","text":"blah...blah"}
{"url":"anotherexample.com","text":"blah...blah"}
$ ./pop_json_item.py input.txt
{"text": "blah...blah"}
{"text": "blah...blah"}