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

Python批量转换目录下JSON为TXT文件的报错代码如何修正

报错原因
  • pandas的read_json方法不支持*通配符批量匹配文件,代码中带通配符的路径会被识别为单个不存在的文件路径,直接触发文件找不到的报错
  • 写路径时在*前后、字符串首尾加了多余空格,会进一步导致路径解析异常
  • 输出路径直接写带*的通配符没有实际逻辑,程序不会自动匹配原文件名生成对应TXT文件
  • 默认to_csv是逗号分隔格式,直接改后缀为txt可能出现内容排版混乱的问题
修改方案

用glob库遍历目录下所有JSON文件,逐个读取后生成同名TXT文件即可,修改后代码如下:

import pandas as pd
import glob
import os

# 配置JSON文件所在目录,不要加多余空格
target_dir = "/media/New Volume/a3d/pdb/json_parser/"
# 匹配目录下所有后缀为.json的文件
json_file_list = glob.glob(os.path.join(target_dir, "*.json"))

for json_path in json_file_list:
    # 读取单个JSON文件
    df = pd.read_json(json_path)
    # 生成同名TXT文件路径
    txt_path = os.path.splitext(json_path)[0] + ".txt"
    # 导出为TXT,这里用制表符分隔保证可读性,可按需调整分隔符
    df.to_csv(txt_path, sep="\t", index=False)
    print(f"已完成转换:{os.path.basename(json_path)}")
补充说明
  • 如果待转换的JSON存在多层嵌套结构,pd.read_json可能无法直接解析为规整表格,需要先对JSON做扁平化处理再转存
  • 代码中sep="\t"为制表符分隔配置,如果需要其他分隔格式可自行修改:要逗号分隔就删掉sep参数用默认值,要空格分隔就写sep=" "
  • 运行前确认对目标目录有读写权限,避免出现权限不足无法写入的问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 05:42:31