从CSV读取JSON时遇'token not found'输入错误,求助解决
解决CSV读取JSON时的"token not found"错误
你的问题根源在于CSV的message字段里用了HTML实体"替代了JSON标准要求的双引号",JSON解析器无法识别这种转义形式,因此抛出了"token not found"错误。
直接按下面的步骤处理就能解决:
- 读取CSV每行数据后,先把
message字段中的"全局替换为",将内容转换成标准JSON格式 - 再使用JSON解析器处理修正后的字符串
用Python举个可直接运行的示例:
import csv import json # 注意你的CSV是制表符分隔,要指定正确的分隔符 with open('q2_data.csv', 'r') as csv_file: csv_reader = csv.DictReader(csv_file, delimiter='\t') for row in csv_reader: # 替换HTML实体引号为标准双引号 fixed_message = row['message'].replace('"', '"') try: parsed_json = json.loads(fixed_message) print(f"订单ID {row['order_id']} 的发货日期: {parsed_json['dispatch_date']}") except json.JSONDecodeError as err: print(f"解析失败: {err}")
额外提醒:你的CSV是制表符分隔(不是逗号),读取时必须指定delimiter='\t',否则会出现字段读取混乱,也可能间接引发解析错误。
内容的提问来源于stack exchange,提问作者Dante
相关产品推荐
相关产品推荐

