python如何处理大型json文件
发表于:2024-10-19 作者:千家信息网编辑
千家信息网最后更新 2024年10月19日,这篇文章主要为大家展示了"python如何处理大型json文件",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"python如何处理大型json文件"这篇文章
千家信息网最后更新 2024年10月19日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安全错误
数据库的锁怎样保障安全
郑州软件开发大学科技园
网络安全与执法就业
2b2t什么时候开新服务器
为什么未转变者无法加入服务器
互联网软件开发运营是做什么
录播服务器管理口是哪个
网络技术哪个方向最好
小程序云数据库读取图片
数据库sa账号无法登录
广东优匙网络技术
网络安全域互访关系
白山政务软件开发费用
电脑使用的vpn服务器
当前主流数据库技术
阿里服务器配置安全组
普陀区软件开发发展
广州中普软件开发有限公司
计算机网络安全问题分为几类
数据库运行越来越慢
央视数据库
网络优化网络安全学习心得
镜相服务器
网络技术开发宣传传媒推广
地税网络安全应急工作总结
企业常用的关系型数据库
查看我的世界服务器版本命令
小学生网络安全防御
移动互联网科技企业
execl 连接数据库
自搭frp服务器