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

yizhihongxing

要将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一行代码可直接使用最全盘点

    Python 一行代码可直接使用最全盘点 本文将介绍一些 Python 中的常用功能,这些功能可以用一行代码来实现,并且可以在多个领域中使用。这些示例包括文件操作、网络爬虫、数据分析和图形化界面等。 1. 文件操作 (1)读取文件 Python 中读取文件只需要一行代码即可。以下代码演示了如何读取文本文件 example.txt 的全部内容。 with op…

    python 2023年5月19日
    00
  • 基于python实现FTP文件上传与下载操作(ftp&sftp协议)

    基于Python实现FTP文件上传与下载操作(FTP&SFTP协议) FTP(文件传输协议)是一种用于向互联网上传送文件的标准协议,而SFTP(SSH文件传输协议)则是FTP的安全替代。在Python中,通过ftplib库,我们可以使用FTP协议上传和下载文件,通过paramiko库,我们可以使用SFTP协议进行同样的操作。 本文将详细介绍如何基于P…

    python 2023年6月5日
    00
  • python爬虫爬取指定内容的解决方法

    当我们需要快速收集大量需要的数据时,Python爬虫就是一个非常有用的工具。Python爬虫具有快速、高效、灵活等优势,并且非常适合于大规模数据采集。在使用Python爬虫时,我们最常见的需求之一是需要只爬取指定内容。下面是详细的攻略过程: 步骤一:查找指定内容的来源 首先,查找指定内容的来源。有可能这些内容都在某一特定网站或某一特定页面中,如果我们能确定这…

    python 2023年5月14日
    00
  • Python3 列表,数组,矩阵的相互转换的方法示例

    以下是“Python3列表,数组,矩阵的相互转换的方法示例”的完整攻略。 1. 列表、数组、矩阵的概述 在Python中,列表(list)、数组(array)和矩阵(matrix)都是常见的数据类型。它们都可以用来储存多个值,但它们的使用方式和特点有所不同。本攻略将介绍Python中列表、数组、矩阵的相互转换的方法。 2. 列表、数组、矩阵的相互转换的方法 …

    python 2023年5月13日
    00
  • python+selenium 脚本实现每天自动登记的思路详解

    在本攻略中,我们将介绍如何使用Python和Selenium实现每天自动登记的功能。我们将提供两个示例,演示如何使用Selenium模拟浏览器操作和定时任务。 步骤1:安装Selenium 在开始之前,我们需要安装Selenium库。我们可以使用pip命令来安装Selenium库。 pip install selenium 步骤2:启动浏览器 我们可以按照以…

    python 2023年5月15日
    00
  • Python的Twisted框架上手前所必须了解的异步编程思想

    让我们来详细讲解一下“Python的Twisted框架上手前所必须了解的异步编程思想”的完整攻略。 什么是Twisted框架 首先,Twisted是一个基于事件驱动的网络框架,它使用Python编写。它提供了许多网络应用程序中常用的功能,如客户端和服务器的开发,Web应用程序的开发和测试,命令行工具的编写,和许多其他的网络服务。 在Twisted中,所有的网…

    python 2023年5月19日
    00
  • Python中用post、get方式提交数据的方法示例

    下面是详细的Python用POST和GET方式提交数据的方法示例攻略。 1. GET方式提交数据的方法示例 使用GET方式提交数据适用于向服务器请求数据。 1.1 准备工作 在Python中,可以使用requests库轻松实现GET方式提交数据。打开命令行窗口(Windows用户需要先打开CMD),输入以下命令进行安装: pip install reques…

    python 2023年6月3日
    00
  • Python Selenium库的基本使用教程

    下面是Python Selenium库的基本使用教程的攻略: 一、什么是Python Selenium库? Python Selenium库是一个自动化测试工具,可以模拟人类在浏览器上操作的行为,例如点击链接、输入文本、提交表单等。这个工具可以在各种浏览器上运行,例如Chrome、Firefox和Edge等。在Python中使用Selenium库可以开发We…

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