python3.x - python使用json.loads的时候,字符串里有一行数据有问题,怎样让它略过这一行
PHP中文网
PHP中文网 2017-04-17 17:29:48
0
1
570
import json
f_member = open(r'C:\Users\Desktop\xxxx.json')
users = json.loads(f_member.read(), encoding="utf8")

然后报错了
json.decoder.JSONDecodeError: Invalid control character at: line 388080 column 18 (char 4802144)

信息量很大,我不能手动去一条一条删这种吧...
如何略过这一行呢?

PHP中文网
PHP中文网

认证0级讲师

全員に返信(1)
大家讲道理

1) コーデックを使用した試行関数、試行データの時間によって、試行されたデータ ストリームのコード形式を指定できます

リーリー
  1. The default file mode is ’r’ meaning to open the file in read mode.
    注: ラップされたバージョンは、コーデックによって定義されたオブジェクト形式 (つまり、ほとんどの組み込みコーデックの Unicode オブジェクト) のみを受け入れます。出力もコーデックに依存し、通常は Unicode になります。
    注: バイナリ モードが指定されていない場合でも、ファイルは常にバイナリ モードで開かれます。これは

  2. を避けるために行われます。
  3. 8 ビット値を使用したエンコードによる損失。これは、読み取りおよび書き込み時に「n」の自動変換が行われないことを意味します。

  4. は、ファイルに使用されるエンコーディングを指定します。

  5. は、エラー処理を定義するために指定できます。デフォルトは「strict」で、エンコード エラーが発生した場合に ValueError が発生します。

  6. は、組み込みの open() 関数と同じ意味を持ちます。デフォルトでは行バッファリング

    2) json.loads 里のデータ逐次文字の判断、非 utf-8 コードを飛び越えて、完全な文字符に達した後再読み込みします

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート