关于python处理大型json文件的方法
作者:人生天天快乐 时间:2023-09-24 12:47:47
如图所示,要处理的数据是一个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)
来源:https://www.cnblogs.com/sk-lqbzblogs/p/15979192.html
标签:python,处理,json文件
0
投稿
猜你喜欢
详解Python如何巧妙实现数学阶乘n!
2023-07-06 10:22:56
如何基于Python爬虫爬取美团酒店信息
2023-10-11 00:12:45
python中将字典形式的数据循环插入Excel
2023-07-05 01:49:19
MySQL查询出现1055错误的原因及解决方法
2024-01-13 04:05:54
JavaScript 使用技巧精萃(.net html
2023-07-02 05:18:45
python简单区块链模拟详解
2023-11-09 12:04:57
asp去除html标记与空格的正则
2022-12-15 08:40:12
js模拟类继承小例子
2024-04-16 10:38:29
python中关于py文件之间相互import的问题及解决方法
2021-08-29 00:29:33
Django1.7+python 2.78+pycharm配置mysql数据库教程
2023-11-04 14:43:28
Python 批量合并多个txt文件的实例讲解
2022-09-18 07:39:47
pyecharts绘制中国2020肺炎疫情地图的实例代码
2022-08-18 08:02:44
vue3动态路由刷新后空白或者404问题的解决
2023-07-02 16:58:39
python输出决策树图形的例子
2022-02-07 09:14:54
Windows存储 SQL行溢出 差异备份及疑问
2008-12-24 15:22:00
浅谈如何提高PHP代码的质量
2024-06-05 09:47:05
用python实现前向分词最大匹配算法的示例代码
2023-12-03 00:18:46
对Python 简单串口收发GUI界面的实例详解
2023-03-29 05:50:18
Python tkinter三种布局实例详解
2022-11-28 11:23:44
如何在Python里使用ChatGPT及ChatGPT是什么?注册方式?
2022-12-01 22:43:12