2

大きな JSON ファイルを解析するためにijson ( https://pypi.python.org/pypi/ijson ) を使用しています。数GBあるので、現実的にすべてをメモリに保存することはできません。問題は、ファイルの途中でパーサーがエラーになることです (特定の例外は UnicodeDecodeError です)。すべてのデータが必要なわけではないので、そのエントリをスキップしても問題ありませんが、エラーが発生した場所を超えて続行することはできません。

私のコードは次のようになります。

parser = ijson.parse(file)
for prefix, event, value in parser:
    do stuff

ループ内で例外をキャッチしようとすると、解析でエラーが発生するため、キャッチされません。ループの外に置くと、中断したところから続行できません(私の知る限り)。このエラーを回避して続行するにはどうすればよいですか? または、ファイルを開いたりメモリに保存したりする必要のない方法でファイルを修正するにはどうすればよいですか?

4

0 に答える 0