脚本之家 服务器常用软件
  • 手机版
  • 关注微信
    扫一扫

Python实现提取JSON文件中指定数据并保存至CSV或Excel内

 更新时间:2023年08月31日 10:43:54   作者:疯狂学习GIS  
这篇文章主要介绍了如何基于Python语言实现读取JSON格式的数据,并将提取到的数据保存到.csv格式或.xlsx格式的表格文件中,感兴趣的小伙伴可以了解下

本文介绍基于Python语言,读取JSON格式的数据,提取其中的指定内容,并将提取到的数据保存到 .csv 格式或 .xlsx 格式的表格文件中的方法。

JSON格式的数据在数据信息交换过程中经常使用,但是相对而言并不直观;因此,有时我们希望将JSON格式的数据转换为Excel表格文件数据;这里就介绍一下基于Python语言,将JSON数据转换为 .csv 格式与 .xlsx 格式数据的方法。

首先,来看一下我们的需求。我们现在基于Postman软件,获得了某一个网站中,以JSON格式记录的大量数据,其中部分数据如下图所示(这里是大量数据样本中的 1 条样本)。这里关于Postman获取网站数据的方法,大家如果有需要,可以参考文章 Postman软件基本用法:浏览器复制请求信息并导入到软件从而测试、发送请求

我们现在希望实现的是,将上述JSON数据中的文字部分(也就是有价值的信息部分)提取出来,并保存在一个Excel表格文件中;其中,不同的就是不同的信息属性,不同的就是不同的样本

明确了需求,我们就可以开始撰写代码。这里需要注意,在本文代码中需要用到Pythonjson 库,关于这一个库的配置,大家可以参考文章 Mac系统Anaconda环境配置Python的json库。

首先,介绍将JSON格式数据转换为 .csv 文件数据的代码,具体如下。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Tue Aug 29 10:22:23 2023
@author: fkxxgis
"""
import json
import csv
with open('/Users/didi/Documents/response.json', 'r') as f:
    data = json.load(f)
with open('/Users/didi/Documents/Data_All.csv', 'w', newline='', encoding='utf-8') as csvfile:
    csvwriter = csv.writer(csvfile)
    header = ["xkzh", "qymc", "gmpZsh", "cym", "shren", "shrq"]
    csvwriter.writerow(header)
    for row in data['rows']:
        xkzh = row['xkzh']
        qymc = row['qymc']
        gmpZsh = row['gmpZsh']
        cym = row['cym']
        shren = row['shren']
        shrq = row['shrq']
        csvwriter.writerow([xkzh, qymc, gmpZsh, cym, shren, shrq])

首先需要说明,上述代码在执行后,我打开新建的 .csv 格式文件,会出现中文字符乱码的情况,如下图所示。

但是用本文接下来的导出为 .xlsx 格式文件的代码就不会有这个问题,所以我当时没有进一步研究乱码出现的原因,就直接用了后续的代码了。如果大家感兴趣,可以对上述代码加以进一步研究。

上述代码的具体含义如下。首先,我们通过 with open('/Users/didi/Documents/response.json', 'r') as f: ,打开名为 response.json 的文件(也就是存储了我们JSON格式数据的文件),并将其赋值给变量 f ;这里的 'r' 表示以只读模式打开文件。随后,代码 data = json.load(f) 使用 json.load() 函数加载JSON文件中的数据,并将其存储在变量 data 中。

接下来,打开名为 Data_All.csv 的文件,并将其赋值给变量 csvfile 'w' 表示以写入模式打开文件。 newline='' encoding='utf-8' 用于设置写入 .csv 文件时的换行和编码方式。随后, csvwriter = csv.writer(csvfile) 表示创建一个 .csv 写入器,将数据写入 csvfile 文件。

其次,我们即可定义 .csv 文件的表头(列名),以列表形式存储在 header 变量中;随后,通过 csvwriter.writerow(header) 将表头写入 .csv 文件。

紧接着,对于 data 中的每一行数据,执行以下操作—— xkzh = row['xkzh'] 就表示从当前行的字典中提取键为 xkzh 的值,并将其赋值给变量 xkzh ;接下来的其他几行也是这个意思。最后,我们将提取的数据以列表的形式写入 .csv 文件的一行。

接下来,我们介绍将JSON格式数据转换为 .xlsx 文件数据的代码,具体如下。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Tue Aug 29 10:42:26 2023
@author: fkxxgis
"""
import json
from openpyxl import Workbook
with open('/Users/didi/Documents/Veterinary/response_2.json', 'r') as f:
    data = json.load(f)
wb = Workbook()
ws = wb.active
header = ["qymc", "tym", "gg", "spm", "pzwh", "zxbz", "pzrq", "yxq", "sxyy", "bgqk"]
ws.append(header)
for row in data['rows']:
    qymc = row['qymc']
    tym = row['tym']
    gg = row['gg']
    spm = row['spm']
    pzwh = row['pzwh']
    zxbz = row['zxbz']
    pzrq = row['pzrq']
    yxq = row['yxq']
    sxyy = row['sxyy']
    bgqk = row['bgqk']
    ws.append([qymc, tym, gg, spm, pzwh, zxbz, pzrq, yxq, sxyy, bgqk])
wb.save('/Users/didi/Documents/Veterinary/Result_2.xlsx')

上述代码的含义也比较简单。

首先,我们打开名为 response_2.json 的文件,并将其赋值给变量 f 'r' 表示以只读模式打开文件。随后的 data = json.load(f) 表示使用 json.load() 函数加载JSON文件中的数据,并将其存储在变量 data 中。

接下来,创建一个新的Excel工作簿,将其赋值给变量 wb ;随后,获取工作簿的活动工作表,并将其赋值给变量 ws

紧接着,我们定义Excel文件的表头(列名),以列表形式存储在 header 变量中,并将表头写入Excel文件的第一行。随后,对于 data 中的每一行数据(假设每一行都是一个字典),执行以下操作——从当前行的字典中提取特定字段的值,并将它们分别赋值给对应的变量。接下来,我们将提取的数据以列表的形式写入Excel文件的一行。

最后,即可将Excel工作簿保存为名为 Result_2.xlsx 的文件。

运行上述代码,我们即可在 Result_2.xlsx 文件中看到提取到的数据,其中每一行就是一个样本,每一列表示一种属性,且没有出现乱码的情况。如下图所示。

至此,大功告成。

欢迎关注:疯狂学习GIS

到此这篇关于Python实现提取JSON文件中指定数据并保存至CSV或Excel内的文章就介绍到这了,更多相关Python提取JSON数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
  • python 删除excel表格重复行,数据预处理操作
  • Python实现将MySQL数据库查询结果导出到Excel
  • python使用openpyxl库读取Excel文件数据
  • python中将数据生成为Excel文件的5种方法举例
  • 如何在Python中导入EXCEL数据
  • 如何利用Python让Excel快速按条件筛选数据
  • 详解Python如何实现对比两个Excel数据差异
  • Python按条件删除Excel表格数据的方法(示例详解)
  • python
  • json
  • 数据

相关文章

  • 关于python3的ThreadPoolExecutor线程池大小设置

    关于python3的ThreadPoolExecutor线程池大小设置

    这篇文章主要介绍了关于python3的ThreadPoolExecutor线程池大小设置,线程池的理想大小取决于被提交任务的类型以及所部署系统的特性,需要的朋友可以参考下
    2023-04-04
  • Pycharm2020.1安装中文语言插件的详细教程(不需要汉化)

    Pycharm2020.1安装中文语言插件的详细教程(不需要汉化)

    这篇文章主要介绍了Pycharm2020.1安装中文语言插件的详细教程,不需要汉化,本文给大家分享三种方法,在这小编推荐使用方法二,具体内容详情大家跟随小编一起看看吧
    2020-08-08
  • Python实现两种稀疏矩阵的最小二乘法

    Python实现两种稀疏矩阵的最小二乘法

    这篇文章主要为大家详细介绍了Python实现的两种稀疏矩阵最小二乘法lsqr和lsmr,前者是经典算法,后者来自斯坦福优化实验室,据称可以比lsqr更快收敛,感兴趣的可以了解一下
    2023-02-02
  • scrapy爬虫部署服务器的方法步骤

    scrapy爬虫部署服务器的方法步骤

    本文主要介绍了scrapy爬虫部署服务器的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • Tensorflow训练MNIST手写数字识别模型

    Tensorflow训练MNIST手写数字识别模型

    这篇文章主要为大家详细介绍了Tensorflow训练MNIST手写数字识别模型,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-02-02
  • Python中DJANGO简单测试实例

    Python中DJANGO简单测试实例

    这篇文章主要介绍了Python中DJANGO简单测试,实例分析了DJANGO的用法,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-05-05
  • Python OpenCV实现基本图形绘制

    Python OpenCV实现基本图形绘制

    这篇文章主要介绍了Python OpenCV实现基本图形绘制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • Python 命令行解析工具 argparse基本用法

    Python 命令行解析工具 argparse基本用法

    在工作中,我们经常需要从命令行当中解析出指定的参数,而 Python 也提供了相应的标准库来做这件事情,比如 sys, optparse, getopt, argparse,这里面功能最强大的莫过于 argparse,下面就来看看它用法,需要的朋友可以参考下
    2022-12-12
  • Python 实现使用dict 创建二维数据、DataFrame

    Python 实现使用dict 创建二维数据、DataFrame

    下面小编就为大家分享一篇Python 实现使用dict 创建二维数据、DataFrame,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • 如何通过雪花算法用Python实现一个简单的发号器

    如何通过雪花算法用Python实现一个简单的发号器

    这篇文章主要介绍了如何通过雪花算法用Python实现一个简单的发号器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07

最新评论

玻璃钢生产厂家商场美陈特装费用高不高玻璃钢花盆跟木头花盆的区别甘肃玻璃钢仿铜雕塑价格乌鲁木齐气球商场美陈哪家合适潍坊玻璃钢雕塑建造毕节商场美陈价格佳木斯玻璃钢花盆广西大型玻璃钢雕塑厂武威公园玻璃钢雕塑制作河北艺术商场美陈哪家好四川通道商场美陈报价河南户内玻璃钢雕塑多少钱哪里有玻璃钢雕塑报价秀洲玻璃钢雕塑西游记人物沙僧玻璃钢雕塑江苏镜面玻璃钢雕塑哪家专业玻璃钢大白菜雕塑生产厂家玻璃钢喜羊羊造型雕塑西宁卡通玻璃钢雕塑制作信阳玻璃钢浮雕雕塑厂家电话景观玻璃钢雕塑订做丰台区商场美陈布置天水景区玻璃钢雕塑公司河北走廊商场美陈费用山东玻璃钢雕塑定做厂赣州玻璃钢雕塑联系方式安徽玻璃钢广场雕塑厂家玻璃钢花盆设计洛阳铜玻璃钢人物雕塑定做浙江艺术商场美陈批发价香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化