千家信息网

python如何处理大型json文件

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章主要为大家展示了"python如何处理大型json文件",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"python如何处理大型json文件"这篇文章
千家信息网最后更新 2025年02月02日python如何处理大型json文件

这篇文章主要为大家展示了"python如何处理大型json文件",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"python如何处理大型json文件"这篇文章吧。

如图所示,要处理的数据是一个json数组,而且非常大

下图为电脑配置,使用 json.load() 方法加载上述json文件电脑直接卡死

解决思路:

    先用python进行预处理,即一整个json数据加载慢,那就分开加载,每次加载一个json对象,然后使用 json.dumps()方法 存储到txt中,方便读取。当然也可以存储到内存中,根据情况而定。

    算法思想:因为 json 是一种结构化的数据,所以 {} 是成对存在的。因为使用逐行读取的方法读入json文件,所以根据 {} 的数量来判断是否读取了一个完整的json对象,如果是完整的,则使用 json.dumps()方法 存储到txt中。

    getUsefullData(temp + line,id)这个方法是提取自己需要的数据

def jsonProcess(fileName,round):    id = 1    with open(fileName, 'r', encoding='utf-8') as f,open('../tempData/tempFile'+str(round)+'.txt','w') as tempFile:        line = f.readline()        line = f.readline()        temp = ''        khNum = 0        id = 1        while line:            # print(line)            if line.find('{') != -1:                khNum += 1                if line.find('}') != -1:                khNum -= 1                if khNum == 0:                line = line.replace(',','')                data = getUsefullData(temp + line,id)                id += 1                if len(data) > 1:                    # print(data)                    try:                        tempFile.write(json.dumps(data)+'\n')                    except 'json.decoder.JSONDecodeError':                        break                temp = ''                line = f.readline()                continue            temp += line            line = f.readline()

      读取方法:

with open('../tempData/tempFile'+str(round)+'.txt') as f:        dataList = f.readlines()        # 解析保存好的list        for data in dataList:            data = json.loads(data)

以上是"python如何处理大型json文件"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

方法 文件 数据 内容 篇文章 存储 对象 电脑 学习 帮助 下图 内存 思想 思路 情况 数组 数量 易懂 更多 条理 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络技术的坏处一百字 郑州软件开发驻场费用是多少 芜湖市教育系统网络安全会议 软件开发自学需要学些什么 网络技术域名词解释 医院网络安全被追究法律责任 后台密码修改数据库字表 网络安全维护题库 香港中博网络技术有限公司 数据库库表字段 位域 网络安全法五十一条 宽带网络技术申普兵课后答案 数据库人工管理阶段的数据 数字数据网络技术 电视盒网络连接正常找不到服务器 qq飞车登入过的服务器 网络安全进机关视频 core数据库怎么安装 10个软件开发模型 rtx服务器配置 当今网络安全 数据库系统及应用教程电子版 广州工商银行的软件开发中心在哪 中科方德服务器操作系统试用 运用网络技术一般按哪些步骤进行 网络安全 设置 qq安全中心服务器开小差 万方数据库如何更改用户名 我的世界java版服务器主播 英国大学有多少个数据库
0