当前位置: 首页 > 编程笔记 >

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

杨君之
2023-03-14
本文向大家介绍使用python把json文件转换为csv文件,包括了使用python把json文件转换为csv文件的使用技巧和注意事项,需要的朋友参考一下

了解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文件的资料请关注小牛知识库其它相关文章!

 类似资料:
  • 问题内容: 我正在使用以下代码: 它在我的IDE中抛出错误,但为什么呢?我已经使用了一些示例中的代码。 我不知道要写入什么,因为我想转换任何CSV文件。 如何将任何CSV文件转换为JSON并将其保存到磁盘? 接下来做什么?例子 问题答案: 我认为,您应该使用它来解决问题。请参见以下示例: 有关更多信息和示例,请参见此页面:jackson-dataformat-csv。

  • 问题内容: 我需要帮助来理解使用java将XML文件转换为CSV文件所涉及的步骤。这是XML文件的示例 这是生成的CSV文件。 我当时正在考虑使用DOM解析器读取xml文件。我遇到的问题是,我需要按名称指定要编码的特定元素,但我希望它能够解析它而不这样做。 Java中是否有任何工具或库可以帮助我实现这一目标。 如果我下面有这种格式的XML文件,并且想在与MSgId相同的行中添加InitgPty的值

  • 问题内容: 下面是我从在线气象站提取的json结构。我还包括一个json_to_csv python脚本,该脚本应该将json数据转换为csv输出,但仅返回“ Key”错误。我只想从“ current_observation”中提取数据。 检索温度字符串并将其转换为.csv格式的最佳方法是什么?谢谢! 问题答案: 也许熊猫可以为您提供帮助。.read_json()函数创建一个不错的数据框,您可以从

  • 问题内容: 如何使用python脚本将.csv文件转换为.dbf文件?我发现这一块的代码,在网上,但我不能肯定它是多么可靠。是否有任何具有此功能的模块? 问题答案: 在网上找不到任何可以读取CSV文件并写入DBF文件的文件,因此您只需调用它并提供2个文件路径即可。对于每个DBF字段,您需要指定类型,大小和(如果相关)小数位数。 一些问题: 哪些软件将使用输出的DBF文件? 没有所谓的“ the”(

  • 我需要将文本文件转换为csv并按列组织它。但是,文本文件中的数据是按行排列的,长度为715页。下面是文本文件外观的示例: 这是我的数据的一个例子,但实际上每个人的信息要多得多,而且有成千上万的条目。 基本上,每一行都用“----”分隔。但是,行之间的数据是多行的。例如,下一行是姓名和年龄,下一行是薪水,下一行是薪水,下一行是薪水,下一行是薪水,这意味着新条目的开始。 有没有一种方法可以让我绕过这种

  • 问题内容: 这是我的代码,非常简单的东西… 声明一些字段名称,阅读器使用CSV读取文件,并使用字段名称将文件转储为JSON格式。这是问题所在… CSV文件中的每个记录都在不同的行上。我希望JSON输出采用相同的方式。问题在于,将其全部倾倒在一条长长的巨线上。 我试过使用类似的代码,然后在该代码下面运行我的代码,该代码循环遍历每一行,但它在一行上执行整个文件,然后在另一行上遍历整个文件…一直持续到行