raise JSONDecodeError(“Extra data“, s, end)

错误 "JSONDecodeError: Extra data" 通常发生在尝试解析JSON数据时,解析器读取了预期之外的额外数据。这可能是因为:

  1. 文件格式不正确:JSON文件可能不是有效的JSON格式,或者文件中包含了无法解析的字符或结构。
  2. 文件包含非JSON内容:如果JSON文件中除了有效的JSON数据之外,还包含了其他文本(例如注释或额外的字符),这可能导致解码错误。
  3. 错误的读取方式:如果JSON文件是一个数组,但被当作对象来解析,或者反之,这可能导致解码错误。

要解决这个问题,您可以采取以下步骤:

检查JSON文件格式

确保JSON文件仅包含有效的JSON数据,并且格式正确。您可以使用在线JSON验证工具来检查文件。

读取JSON文件的正确方式

如果文件包含一个JSON数组(即文件以[开头),您应该能够使用json.load()直接读取整个文件:

with open(input_file_path, 'r', encoding='utf-8') as infile: industry_data = json.load(infile)

如果文件包含多个独立的JSON对象(每行一个),需要逐行读取并解析:

with open(input_file_path, 'r', encoding='utf-8') as infile: industry_data = [json.loads(line) for line in infile if line.strip()]

如果还是不太会的话可以尝试更改一下我这里已经改好的代码(不过还是要依据自己实际写)

# 确保输出目录存在
if not os.path.exists(os.path.dirname(output_file_path)):
    os.makedirs(os.path.dirname(output_file_path))

# 读取原始JSON文件,如果文件中是多行JSON对象
with open(input_file_path, 'r', encoding='utf-8') as infile:
    company_products = [json.loads(line) for line in infile if line.strip()]
# 将读取的JSON数据转换为DataFrame
df = pd.DataFrame(company_products)


# 写入新的JSON文件,确保数据类型正确
with open(output_file_path, 'w', encoding='utf-8') as outfile:
    json.dump(df.to_dict(orient='records'), outfile, ensure_ascii=False, indent=4)

print(f"JSON数据已更新并保存到 '{output_file_path}'")

# 定义文件路径用于后续操作
file_path = output_file_path  # 更新为新文件路径


                
  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慢漫@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值