You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Pandas读取孟加拉语JSON数据集?解决解码报错问题

解决含孟加拉语JSON数据集读取的ValueError问题

问题场景

使用以下代码读取包含孟加拉语的JSON文件时,触发ValueError: Unexpected character found when decoding array value错误:

import codecs
import pandas as pd
pd.read_json(codecs.open('/content/drive/MyDrive/content_colab_access/quotes_test.json', 'r', 'utf-8'))
print(data.shape)
data.head()

对应的JSON数据样例:

[
    {
      "Quote": "যখন মানুষের খুব প্রিয় কেউ তাকে অপছন্দ করে না",
      "Author": "Humayun Ahmed",
      "Tags": [
        "bangladesh"," bengali"," humayun-ahmed "
      ],
      "Popularity": 0.381,
      "Category": "life"
    }
  ] 

正确读取方案

方案1:直接通过pd.read_json指定UTF-8编码

pandas的read_json本身支持直接指定编码参数,无需借助codecs.open,修改后代码如下:

import pandas as pd
# 直接传入文件路径并指定encoding参数
data = pd.read_json('/content/drive/MyDrive/content_colab_access/quotes_test.json', encoding='utf-8')
print(data.shape)
data.head()

方案2:先通过json模块加载数据再转DataFrame

如果方案1仍有问题,可以先使用标准库json读取数据,再转换为DataFrame:

import pandas as pd
import json

# 用open指定编码读取文件,再通过json.load解析
with open('/content/drive/MyDrive/content_colab_access/quotes_test.json', 'r', encoding='utf-8') as f:
    raw_data = json.load(f)

data = pd.DataFrame(raw_data)
print(data.shape)
data.head()

错误原因

原代码中pd.read_json接收codecs.open返回的文件对象时,内部解码逻辑与codecs的处理存在冲突,导致无法正确识别孟加拉语字符及JSON数组结构。直接传递文件路径并指定编码,或通过json模块先解析数据,均可规避该解码问题。

内容的提问来源于stack exchange,提问作者mdasiful alam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 23:55:20