使用python把json文件转换为csv文件

 更新时间:2021年03月13日 14:44:04   作者:孙晨c  
这篇文章主要介绍了使用python把json文件转换为csv文件,帮助大家更好的利用python处理数据,感兴趣的朋友可以了解下

了解json整体格式

这里有一段json格式的文件,存着全球陆地和海洋的每年异常气温(这里只选了一部分):global_temperature.json

{
 "description": {
  "title": "Global Land and Ocean Temperature Anomalies, January-December",
  "units": "Degrees Celsius",
  "base_period": "1901-2000"
 },
 "data": {
  "1880": "-0.1247",
  "1881": "-0.0707",
  "1882": "-0.0710",
  "1883": "-0.1481",
  "1884": "-0.2099",
  "1885": "-0.2220",
  "1886": "-0.2101",
  "1887": "-0.2559"
 }
}

通过python读取后可以看到其实json就是dict类型的数据,description和data字段就是key

由于json存在层层嵌套的关系,示例里面的data其实也是dict类型,那么年份就是key,温度就是value

转换格式

现在要做的是把json里的年份和温度数据保存到csv文件里

提取key和value

这里我把它们转换分别转换成int和float类型,如果不做处理默认是str类型

year_str_lst = json_data['data'].keys()
year_int_lst = [int(year_str) for year_str in year_str_lst]

temperature_str_lst = json_data['data'].values()
temperature_int_lst = [float(temperature_str) for temperature_str in temperature_str_lst]

print(year_int)
print(temperature_int_lst)

使用pandas写入csv

import pandas as pd

# 构建 dataframe
year_series = pd.Series(year_int_lst,name='year')
temperature_series = pd.Series(temperature_int_lst,name='temperature')

result_dataframe = pd.concat([year_series,temperature_series],axis=1)

result_dataframe.to_csv('./files/global_temperature.csv', index = None)

axis=1,是横向拼接,若axis=0则是竖向拼接
最终效果

注意
如果在调用to_csv()方法时不加上index = None,则会默认在csv文件里加上一列索引,这是我们不希望看见的

以上就是使用python把json文件转换为csv文件的详细内容,更多关于python json文件转换为csv文件的资料请关注脚本之家其它相关文章!

相关文章

  • 零基础写python爬虫之爬虫编写全记录

    零基础写python爬虫之爬虫编写全记录

    前面九篇文章从基础到编写都做了详细的介绍了,第十篇么讲究个十全十美,那么我们就来详细记录一下一个爬虫程序如何一步步编写出来的,各位看官可要看仔细了
    2014-11-11
  • 用Python的Tornado框架结合memcached页面改善博客性能

    用Python的Tornado框架结合memcached页面改善博客性能

    这篇文章主要介绍了用Python的Tornado框架结合memcached页面改善vLog性能,主要使用到了缓存来提升性能,需要的朋友可以参考下
    2015-04-04
  • Python执行错误“由于找不到python39.dll,无法继续执行代码”解决的步骤

    Python执行错误“由于找不到python39.dll,无法继续执行代码”解决的步骤

    这篇文章主要介绍了在Python开发中遇到“找不到python39.dll”的错误,并提供了详细的解决方法,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2024-12-12
  • Python深入学习之闭包

    Python深入学习之闭包

    这篇文章主要介绍了Python深入学习之闭包,闭包(closure)是函数式编程的重要的语法结构,Python也支持这一特性,本文就这一特性做了讲解,需要的朋友可以参考下
    2014-08-08
  • Python数据的标准输出与格式化输出

    Python数据的标准输出与格式化输出

    这篇文章主要给大家介绍了关于Python数据的标准输出与格式化输出的相关资料,和大多数语言一样,Python也是用print()函数来进行输出,需要的朋友可以参考下
    2023-08-08
  • 对python GUI实现完美进度条的示例详解

    对python GUI实现完美进度条的示例详解

    今天小编就为大家分享一篇对python GUI实现完美进度条的示例详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Anaconda和ipython环境适配的实现

    Anaconda和ipython环境适配的实现

    这篇文章主要介绍了Anaconda和ipython环境适配的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Python多进程开发之如何轻松突破GIL瓶颈

    Python多进程开发之如何轻松突破GIL瓶颈

    这篇文章主要来和大家详细介绍一下Python多进程开发的相关知识,看看它是如何绕过GIL全局解释器锁的,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-06-06
  • Django实现分页功能

    Django实现分页功能

    今天给大家分享的是如何使用Django实现简单分页功能的方法,主要依托于Django提供的一个新的类Paginator来实现的
    2018-07-07
  • python opencv画局部放大图实例教程

    python opencv画局部放大图实例教程

    这篇文章主要给大家介绍了关于python opencv画局部放大图的相关资料,获取鼠标的单击相应以及鼠标的移动信息,进行放大功能的实现,需要的朋友可以参考下
    2021-10-10

最新评论