python3.x - python使用json.loads的时候,字符串里有一行数据有问题,怎样让它略过这一行
PHP中文网
PHP中文网 2017-04-17 17:29:48
0
1
564
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级讲师

répondre à tous(1)
大家讲道理

1) Les codecs sont ouverts et ouverts, et les codecs sont ouverts.

codecs.open(filename, mode[, encoding[, errors[, buffering ]]])
Open an encoded file using the given mode and return a wrapped version providing transparent encoding/
  1. The default file mode is ’r’ meaning to open the file in read mode. Remarque : La version enveloppée n'acceptera que le format d'objet défini par les codecs, c'est-à-dire les objets Unicode pour la plupart des codecs intégrés. La sortie dépend également du codec et sera généralement également Unicode.
    Remarque : les fichiers sont toujours ouverts en mode binaire, même si aucun mode binaire n'a été spécifié. Ceci est fait pour éviter

  2. perte due aux encodages utilisant des valeurs 8 bits. Cela signifie qu'aucune conversion automatique du 'n' n'est effectuée en lecture et en écriture.

  3. spécifie l'encodage qui doit être utilisé pour le fichier.

  4. peut être donné pour définir la gestion des erreurs. La valeur par défaut est « strict », ce qui provoque la génération d'une ValueError en cas d'erreur d'encodage.

  5. a la même signification que pour la fonction open() intégrée. La valeur par défaut est la ligne tamponnée

    2) json.loads里的数据逐字符的判断,非utf-8编码的跳过去,得到完整的字符串后再loads

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal