問題タブ [ijson]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
59 参照

python - Python ijson - 解析エラー: 末尾のゴミ // bz2.decompress()

json を ijson で解析中にエラーが発生しました。

背景: '.bz2' 形式で圧縮された一連の (約 - 1000) の Twitter データの大きなファイルがあります。pd.DataFrameさらに分析するために、ファイルから要素を取得する必要があります。取得する必要があるキーを特定しました。慎重にツイッターのデータをアップしています。

bz2.decompress試行:次のコードを使用してファイルを解凍できました:

これにより、次のエラーが発生します。

2つのこと:

  • 私の解凍方法は正しく、ijson が解析する正しいタイプのファイルを提供していますか (ijson はバイトと str の両方を取ります)?
  • JSONエラーですか?// JSON エラーの場合、次のファイルに移動するエラー ハンドラを開発することは可能ですか?

どんな援助でも大歓迎です。

ありがとう、ジェームズ

0 投票する
0 に答える
51 参照

python - ijson と f.seek(0) で大きなファイルを読み取るのに時間がかかりすぎる

特定の要素で処理する必要がある非常に大きな JSON ファイルが10 万個あります。メモリの過負荷を避けるために、ijsonという python ライブラリを使用しています。これは、ファイル ポインタを開始する前にすべてのオブジェクトを処理しているときに正常に動作しf.seek(0)ますが、処理が非常に遅くなります。f.seek(0)また、これを出力から削除すると、エラーが発生します

早期EOF

部分的な JSON:

}

現在のコード: (複数f.seek(0)) 使用したくない:)

出力:

これが、 python ijson を使用して、ijson が複数の json 要素を一度に処理できない複数の json オブジェクトを含む大きな json ファイルを読み取る理由であるかどうかはわかりません。

また、メモリの問題なしに大きなサイズの JSON を処理できる他の python パッケージまたはサンプル例を教えてください。

編集:なしでparse_eventsを使用すると、正しい値f.seek(0)のみrow['AF-DomainCount']が返され、他の行数は 0 になります

注:これは割り当てではなく、私が直面している現実の問題です。f.seek(0)基本的に、何度も回避し、ijson を使用してスクリプトを高速化するには、何らかの解決策が必要です