鱼C论坛

 找回密码
 立即注册
查看: 1488|回复: 3

python保存为json格式后打开,部分json格式提升编码错误

[复制链接]
发表于 2021-8-19 11:12:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
从b站爬取了相关视频文件得详细信息,另存为后用pandas打开比如附件中的动画-综合-1312页.json,会报如下错误,但是动画-综合-1313页.json又能正常保存。
Traceback (most recent call last):
  File "D:xxxx.py", line 58, in <module>
    数据.to_csv('数据信息调2223.csv', index=False, header=0, mode='a', encoding='ANSI')
  File "C:\Python38\lib\site-packages\pandas\core\generic.py", line 3466, in to_csv
    return DataFrameRenderer(formatter).to_csv(
  File "C:\Python38\lib\site-packages\pandas\io\formats\format.py", line 1105, in to_csv
    csv_formatter.save()
  File "C:\Python38\lib\site-packages\pandas\io\formats\csvs.py", line 257, in save
    self._save()
  File "C:\Python38\lib\site-packages\pandas\io\formats\csvs.py", line 262, in _save
    self._save_body()
  File "C:\Python38\lib\site-packages\pandas\io\formats\csvs.py", line 300, in _save_body
    self._save_chunk(start_i, end_i)
  File "C:\Python38\lib\site-packages\pandas\io\formats\csvs.py", line 311, in _save_chunk
    libwriters.write_csv_rows(
  File "pandas\_libs\writers.pyx", line 72, in pandas._libs.writers.write_csv_rows
  File "C:\Python38\lib\encodings\mbcs.py", line 25, in encode
    return mbcs_encode(input, self.errors)[0]
UnicodeEncodeError: 'mbcs' codec can't encode characters in position 0--1: invalid character
但是部分json格式又没有问题,系统也重装了问题依旧。
微信图片_20210819110031.png

动画-综合-1312页报错 1312页不会.rar

25 KB, 下载次数: 4

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-19 11:20:04 | 显示全部楼层
你的json是utf-8编码的,用utf-8。
  1. import json
  2. with open('test.json','r', encoding='utf-8') as f:
  3.     data = json.loads(f.read())
  4.     print(data)
  5.     print(data["name"])
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-19 11:22:21 | 显示全部楼层
suchocolate 发表于 2021-8-19 11:20
你的json是utf-8编码的,用utf-8。

兄弟主要用pandas另存为excel会报错,pandas读取都没有问题,问题在另存为
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-8-19 11:23:50 | 显示全部楼层
  1. # -*- coding: utf-8 -*-
  2. import json
  3. import pandas as pd

  4. from codecs import mbcs_encode
  5. def encode(self, input, final=False):
  6.         return mbcs_encode(input, self.errors)[0]

  7. with open('动画-特摄-1页.json', 'r',encoding='utf-8') as f:
  8.     data=json.loads(f.read())
  9.     df=pd.DataFrame(data["result"])
  10.     #df.to_csv('aaaaa.csv', encoding='ANSI')
复制代码


兄弟这是原代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-25 08:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表