python3 dict ndarray 存成json,并保留原数据精度的实例

要将Python3 dict或ndarray存储成Json格式,并且保留其原始数据精度,可以使用json模块中的dump方法。下面是完整攻略:

1. 导入模块

首先需要导入模块:

import json
import numpy as np

2. 存储dict为json

可以使用如下代码将一个Python3的dict存储成Json文件:

dict_data = {'a': 1.234567890123456789, 'b': 2.345678901234567890, 'c': 3.456789012345678901}
with open('data.json', 'w') as json_file:
    json.dump(dict_data, json_file, indent=4, ensure_ascii=False)

其中,ensure_ascii=False可以保证存储的Json文件中可以包含非ASCII字符,indent=4可以让存储后的Json文件以缩进格式显示。

3. 存储ndarray为json

如果要存储一个包含ndarray的dict为Json文件,可以使用如下代码:

arr = np.array([1.234567890123456789, 2.345678901234567890, 3.456789012345678901])
dict_data = {'a': arr}
with open('data.json', 'w') as json_file:
    json.dump(dict_data, json_file, indent=4, ensure_ascii=False, default=lambda obj: obj.tolist())

需要注意的是,ndarray类型不能直接存储为Json,所以需要在'default'参数中使用lambda函数将ndarray类型转为list类型再进行存储。

示例1:存储一个包含多个ndarray的dict为json

dict_data = {'a': np.array([1.1,2.2,3.3]), 'b': np.array([4.4,5.5,6.6])}
with open('data.json', 'w') as json_file:
    json.dump(dict_data, json_file, indent=4, ensure_ascii=False, default=lambda obj: obj.tolist())

这个例子中,我们创建了包含两个ndarray的dict,然后将其存储为Json文件,可以在文件中看到保留了ndarray的精度。

示例2:读取存储的json文件并转化为ndarray

with open('data.json', 'r') as json_file:
    data = json.load(json_file)
    print(np.array(data['a']))

这个例子展示了如何读取存储的Json文件,并且将其中的ndarray转换为原始类型。可以看到输出结果是一个包含原始精度的ndarray。

以上就是将Python3 dict或ndarray存储成Json并保留原始精度的完整攻略,希望能对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python3 dict ndarray 存成json,并保留原数据精度的实例 - Python技术站

(0)
上一篇 2023年6月3日
下一篇 2023年6月3日

相关文章

  • 使用Python对EXCEL数据的预处理

    下面是一个详细的使用Python对Excel数据进行预处理的实例教程。 一、背景介绍 Excel是非常常用的办公软件之一,它可以用于存储和处理大量的数据,但是在进行数据分析之前,通常需要对数据进行一些预处理,例如清理缺失值、格式转换、数据透视等。在有大量数据需要处理的情况下,手动处理将会非常耗时,因此我们可以利用Python来进行批量处理,提高处理效率和准确…

    python 2023年5月13日
    00
  • 详解Python 函数参数的拆解

    下面我将为你详细讲解“详解Python函数参数的拆解”的完整攻略。 一、函数参数解包 Python中,函数的参数传递方式支持两种:位置/关键字参数和可变参数列表。同时,Python也支持将一个序列或映射对象解包为不同的参数调用函数。这被称为“参数拆解”。 1.1 位置参数拆解 位置参数拆解的语法非常简单,即用 * 运算符对元组或列表进行拆解。这样可以将元组或…

    python 2023年5月14日
    00
  • Python快速生成定制化的Word(docx)文档

    下面将详细讲解如何使用Python快速生成定制化的Word(docx)文档: 1. 安装Python-docx模块 Python-docx是一个第三方模块,它是用来在Python中读写Word文档的。在使用之前需要在终端中安装Python-docx模块,具体安装方法如下: pip install python-docx 2. 创建Word文档 在使用Pyth…

    python 2023年6月7日
    00
  • 快速搭建python爬虫管理平台

    下面是详细讲解“快速搭建python爬虫管理平台”的完整攻略。 准备工具 在开始之前,你需要准备以下工具:- Python 3.x- Flask- MongoDB- PyMongo 步骤一:创建Flask应用 首先,我们需要创建一个Flask应用。在命令行中输入以下内容: from flask import Flask app = Flask(__name_…

    python 2023年5月14日
    00
  • Python如何使用正则表达式爬取京东商品信息

    以下是详细讲解“Python如何使用正则表达式爬取京东商品信息”的完整攻略,包括爬取京东商品信息的基本流程、正则表达的基本语法、使用re模块匹配网页内容的方法和两个示例说明。 爬取京东商品信息的基本流程 爬取京东商品信息的基本流程如下: 发送HTTP请求,获取网页内容。 解析网页内容,提取商品信息。 保存商品信息。 正则表达式基本语法 正则表达式是一种用于匹…

    python 2023年5月14日
    00
  • 如何使用Python在MySQL中使用多列索引?

    在MySQL中,可以使用多列索引来加速多列查询。在Python中,可以使用MySQL连接来执行多列索引查询。以下是在Python中使用多列索引的完整攻略,包括多列索引的基本语法、使用多列索引的示例以及如何在Python中使用多列索引。 多列索引的基本语法 在MySQL中,可以使用CREATE INDEX语句来创建多列索引。以下是创建多列索引的基本语法: CR…

    python 2023年5月12日
    00
  • python实现文件快照加密保护的方法

    下面是详细的攻略。 python实现文件快照加密保护的方法 什么是文件快照? 文件快照是指在某一个时间点,对文件内容的全部或部分进行捕获,保存为一个文件,该文件也被称为“快照”。 对文件内容进行快照主要有两个场景: 对于需要频繁修改但又需要保存历史版本的文件(如代码文件),可以通过文件快照记录每个版本的内容。 对于需要保护的文件,可以通过文件快照及加密的方式…

    python 2023年6月3日
    00
  • Python的高阶函数用法实例分析

    Python的高阶函数用法实例分析 什么是高阶函数 高阶函数是指将函数作为参数或者返回值的函数。在Python中,函数也可以像变量一样被传递,这就是函数式编程的特点之一。 使用高阶函数 使用高阶函数可以使程序变得更加简洁、优雅、易于维护。下面通过两个实例来说明高阶函数的用法。 实例1:自定义sorted函数 sorted函数是Python内置函数,用于排序列…

    python 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部