我有一个非常大的 5 GB 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"}