关于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文件的方法的文章就介绍到这了,更多相关python处理大型json文件内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python遍历文件夹 处理json文件的方法

    有两种做法:os.walk().pathlib库,个人感觉pathlib库的path.glob用来匹配文件比较简单. 下面是第二种做法的实例(第一种做法百度有很多文章): from pathlib import Path import json analysis_root_dir = "D:\\analysis_data\json_file" store_result="D:\\analysis_data\\analysis_result\\dependency.csv&qu

  • Python中优雅处理JSON文件的方法实例

    目录 1. 引言 2. 什么是JSON文件? 3. 使用Python处理JSON文件 3.1. 将JSON文件读取为字典类型 3.2. 将JSON文件读取为Pandas类型 3.3. 使用Pandas读取嵌套JSON类型 3.4. 访问特定位置的数据 3.5. 导出JSON 3.6. 格式化输出 3.7. 输出字段排序 4.总结 5.参考 1. 引言 在本文中,我们将学习如何使用Python读取.解析和编写JSON文件. 我们将讨论如何最好地处理简单的JSON文件以及嵌套的JSON文件,当然我们

  • 关于python处理大型json文件的方法

    如图所示,要处理的数据是一个json数组,而且非常大 下图为电脑配置,使用 json.load() 方法加载上述json文件电脑直接卡死 解决思路: 先用python进行预处理,即一整个json数据加载慢,那就分开加载,每次加载一个json对象,然后使用 json.dumps()方法 存储到txt中,方便读取.当然也可以存储到内存中,根据情况而定. 算法思想:因为 json 是一种结构化的数据,所以 {} 是成对存在的.因为使用逐行读取的方法读入json文件,所以根据 {} 的数量来判断是否读取

  • python自动格式化json文件的方法

    本文实例讲述了python自动格式化json文件的方法.分享给大家供大家参考.具体如下: 这里主要实现将代码混乱的json文件格式化. 还有一小堆python常用算法代码 完整实例代码点击此处本站下载. class JsonFormatter: def __init__(self,intend=4,name=""): self.name=name self.intend=intend self.stack=[] self.obj=None self.source=self.get_so

  • Python实现将json文件中向量写入Excel的方法

    本文实例讲述了Python实现将json文件中向量写入Excel的方法.分享给大家供大家参考,具体如下: 有一个需要是将已经向量化的页面的数据中的向量写入Excel中用于展示,工作很简单,这里简单复习一下Excel文件写的工作,试验中使用的json文件内容如下: 复制代码 代码如下: [ {"vector": [0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0

  • Python实现的json文件读取及中文乱码显示问题解决方法

    本文实例讲述了Python实现的json文件读取及中文乱码显示问题解决方法.分享给大家供大家参考,具体如下: city.json文件的内容如下: { "cities": [ { "city": "北京", "cityid": "101010100" }, { "city": "上海", "cityid": "101020100"

  • 一文搞懂Python读取text,CSV,JSON文件的方法

    目录 前言 打开文件 Python 中的文件读取模式 读取文本文件 读取 CSV 文件 读取 JSON 文件 总结 前言 文件是无处不在的,无论我们使用哪种编程语言,处理文件对于每个程序员都是必不可少的 文件处理是一种用于创建文件.写入数据和从中读取数据的过程,Python 拥有丰富的用于处理不同文件类型的包,从而使得我们可以更加轻松方便的完成文件处理的工作 本文大纲: 使用上下文管理器打开文件 Python 中的文件读取模式 读取 text 文件 读取 CSV 文件 读取 JSON 文件 打开

  • Python对象转JSON字符串的方法

    本文实例讲述了Python对象转JSON字符串的方法.分享给大家供大家参考,具体如下: import json class JSONObject(object): def __init__(self): self.name = 'Ahan' self.email = 'www@qq.com' self.age = 26 if __name__ == '__main__': o = JSONObject() print json.dumps(o, default=lambda o: o.__dic

  • python logging通过json文件配置的步骤

    logconfig.json { "version":1, "disable_existing_loggers":false, "formatters":{ "simple":{ "format":"[%(asctime)s - %(levelname)s - line(%(lineno)d) - %(filename)s]: %(message)s", "datefmt&qu

  • python字典与json转换的方法总结

    在python中json分别由列表和字典组成,本文主要介绍python中字典与json相互转换的方法.使用json.dumps可以把字典转成json字符串.使用json.loads可以把json字符串转为字典类型的数据. 1.字典转json 使用json.dumps json.dumps是对python对象编码成json对象,可以把字典转成json字符串. 方法格式 #字典转换成json字符串 json.dumps(dict) 实例 # 创建字典 info_dict = {'name': 'Jo

随机推荐