如何将Pandas DataFrame放入JSON文件并再次读取?

如何将Pandas DataFrame放入JSON文件并再次读取?

Pandas是Python中广泛使用的数据分析工具,它提供了DataFrame数据结构,可以方便地处理和操作结构化数据。同时,JSON是一种常见的数据交换格式,以其轻量、易读和易于理解的格式,被广泛应用于Web开发和数据交互中。本文将介绍如何将Pandas DataFrame数据放入JSON文件,以及如何再次读取该文件,恢复数据为Pandas DataFrame格式。

将DataFrame数据转换为JSON格式

Pandas DataFrame数据可通过调用to_json()方法转换为JSON格式,该方法有许多参数可以使用,例如path_or_buf指定输出路径或缓冲区位置、orient指定JSON格式类型、force_ascii指定是否将非ASCII字符转换为ASCII等。以下代码演示了如何将DataFrame数据转换为JSON格式,并将其写入到名为“data.json”的文件中。

import pandas as pd

# 创建DataFrame数据
data = {"name": ["Amy", "Bob", "Cathy", "David"],
        "age": [20, 30, 25, 28],
        "score": [80, 90, 85, 92]}
df = pd.DataFrame(data)

# 将DataFrame数据转换为JSON格式并写入文件
df.to_json("data.json", orient="records")

以上代码中,通过调用pd.DataFrame()方法创建了一个包含”name”、”age”和”score”三列数据的DataFrame数据。调用df.to_json()方法将其转换为JSON格式,并写入到名为“data.json”的文件中。orient参数被指定为“records”,这将生成一个由每一行数据作为一个单独的JSON对象组成的数组。现在,我们可以打开该文件,查看其中JSON对象的内容。

[{"name":"Amy","age":20,"score":80},
 {"name":"Bob","age":30,"score":90},
 {"name":"Cathy","age":25,"score":85},
 {"name":"David","age":28,"score":92}]

从JSON文件中读取数据并转换为DataFrame格式

读取JSON文件并将其转换为Pandas DataFrame数据,可以使用read_json()方法。与to_json()方法类似,read_json()方法也有许多参数可供选择,例如path_or_buf指定JSON文件的位置、orient指定JSON格式类型、dtype指定数据类型、convert_axes指定自定义轴等。以下代码演示了如何从“data.json”文件中读取JSON数据,并将其转换为Pandas DataFrame格式。

# 从JSON文件中读取数据并转换为DataFrame格式
df = pd.read_json("data.json", orient="records")

以上代码中,调用pd.read_json()方法从名为“data.json”的文件中读取JSON数据,orient参数被指定为“records”,因为我们将DataFrame数据转换为“records”格式的JSON数据。现在,我们可以查看读取的DataFrame数据。

print(df)

输出结果如下。

   name  age  score
0   Amy   20     80
1   Bob   30     90
2 Cathy   25     85
3 David   28     92

指定JSON数据的其它格式

在本文示例中,我们将orient参数指定为“records”,这是一种常用的JSON数据格式,但也可以指定其他格式。下面是一个示例,演示如何将DataFrame数据转换为“index”格式的JSON数据并写入文件。

# 将DataFrame数据转换为“index”格式的JSON数据并写入文件
df.to_json("data_index.json", orient="index")

读取“index”格式的JSON数据并转换为DataFrame数据,如下所示。

# 从JSON文件中读取数据并转换为DataFrame格式
df = pd.read_json("data_index.json", orient="index")

print(df)

输出结果如下。

   0      1   2
Amy    20    80
Bob     30    90
Cathy   25    85
David   28    92
dtype: int64

在此示例中,DataFrame数据被转换为了由每个行索引作为一个JSON对象的键,每列数据作为该JSON对象的一个键值对的“index”格式的JSON对象,并写入到名为“data_index.json”的JSON文件中。通过调用pd.read_json()方法并将orient参数指定为“index”,我们可以将其读取并转换为DataFrame数据。

结论

通过调用Pandas DataFrame对象的to_json()方法,我们可以方便地将DataFrame数据转换为JSON格式,并将其写入到指定文件中。使用pd.read_json()方法可以从JSON文件中读取数据并将其转换为Pandas DataFrame对象。使用orient参数可以灵活地处理JSON数据的格式。Pandas和JSON的结合,可以让数据分析和处理更加高效和便捷。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程