在 Python 中将 JSON 转为 CSV
JSON 是 JavaScript Object Notation
的缩写,它基于 JavaScript 中对象的格式,是一种表示结构化数据的编码技术。它基于 JavaScript 中的对象格式,是一种表示结构化数据的编码技术。它现在被广泛使用,特别是用于服务器和网络应用之间的数据共享。
CSV 文件用于存储 Excel 电子表格等表格格式的数据。
在本教程中,我们将学习如何将 JSON 数据转换为 CSV 文件。
在 Python 中使用 Pandas DataFrames to_csv()
方法把 JSON 转换为 CSV
在这个方法中,我们将首先把 JSON 转换为 Pandas DataFrame,然后使用 to_csv()
方法把它转换为 CSV 文件。我们可以使用 Python 中的 json
库提供的 json.loads()
函数来读取 JSON 字符串,将 JSON 转换为 DataFrame。然后我们将这个 JSON 对象传递给 json_normalize()
函数,它将返回一个包含所需数据的 Pandas DataFrame。
下面的代码片段将解释我们是如何做的。
import pandas as pd
import json
data = '''
{
"Results":
[
{ "id": "1", "Name": "Jay" },
{ "id": "2", "Name": "Mark" },
{ "id": "3", "Name": "Jack" }
],
"status": ["ok"]
}
'''
info = json.loads(data)
df = pd.json_normalize(info['Results'])
df.to_csv("samplecsv.csv")
创建的 CSV 文件的内容如下。
,id,Name
0,1,Jay
1,2,Mark
2,3,Jack
使用 csv
模块将 JSON 转换为 CSV 文件
在这个方法中,我们将使用 Python 中的 csv
库,它是用来读写 CSV 文件的。首先,我们将像上一个方法一样读取 JSON 数据。我们以写模式打开一个文件,并使用 csv
模块中的 DictWriter()
来创建一个对象,使我们能够将 JSON 数据映射并写入文件。fieldnames
是键,当我们使用 writerows()
函数写行时,这些键被识别并与数据匹配。
下面的代码片段将展示我们如何实现上述方法。
import csv
import json
data = '''
{
"Results":
[
{ "id": "1", "Name": "Jay" },
{ "id": "2", "Name": "Mark" },
{ "id": "3", "Name": "Jack" }
],
"status": ["ok"]
}
'''
info = json.loads(data)['Results']
print(info[0].keys())
with open("samplecsv.csv", 'w') as f:
wr = csv.DictWriter(f, fieldnames = info[0].keys())
wr.writeheader()
wr.writerows(info)
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn相关文章 - Python JSON
- 在 Python 中从 URL 获取 JSON
- 如何漂亮打印 JSON 文件
- Python JSON 字符串化
- 在 Python 中将 JSON 转换为字典
- 在 Python 中使用 requests 发送 JSON 数据
- 用 Python 将 JSON 写入文件