Python
 Computer >> コンピューター >  >> プログラミング >> Python

PandasのDataFrameをJSONファイルに保存して再読み込みする方法

PandasのDataFrameをJSONファイルに書き出し、あとで再度読み込むには、to_json() メソッドと read_json() メソッドを使用します。この記事では、基本的な使い方をサンプルコードと実行結果付きでわかりやすく解説します。

処理の手順

  • 2次元のサイズ可変な表形式データ(異なる型の列を含むことも可能)であるDataFrame df を作成します。
  • 入力となるDataFrame df の内容を表示して確認します。
  • to_json() メソッドを使って、DataFrameをJSONファイルに書き出します。
  • read_json() メソッドを使って、JSONファイルを読み込みます。

サンプルコード

import pandas as pd

df = pd.DataFrame(
    {
        "x": [5, 2, 7, 0],
        "y": [4, 7, 5, 1],
        "z": [9, 3, 5, 1]
    }
)
print("入力DataFrame:\n", df)
print("入力DataFrameのJSON出力:", df.to_json("test.json"))

print("作成したJSONファイルを読み込みます")
print("DataFrame:\n", pd.read_json("test.json"))

実行結果

入力DataFrame:
   x  y  z
0  5  4  9
1  2  7  3
2  7  5  5
3  0  1  1

入力DataFrameのJSON出力: None

作成したJSONファイルを読み込みます

DataFrame:
   x  y  z
0  5  4  9
1  2  7  3
2  7  5  5
3  0  1  1

コードの解説

df.to_json("test.json") を実行すると、DataFrame内のデータをもとに「test.json」という名前のJSONファイルが作成されます。戻り値が None になっているのは、ファイルパスを指定した場合はデータがそのままファイルに書き出され、文字列として返されないためです。

続いて pd.read_json("test.json") を実行すると、test.json からデータが読み込まれ、元と同じ構造のDataFrameとして復元されます。インデックスや列名も正しく保持されていることが確認できます。

覚えておくと便利なオプション

  • orient引数: JSONの形式(records、columns、indexなど)を指定できます。用途に応じて柔軟に出力形式を変更できます。
  • lines=True: 大量のデータを扱う場合、1行に1レコードを記録するJSON Lines形式で読み書きでき、メモリ効率が向上します。
  • date_format引数: 日付データの出力形式(epoch、isoなど)を指定できます。

このように、to_json()read_json() を組み合わせることで、DataFrameのデータを簡単に永続化し、必要なときに元の形で復元することができます。

  1. Pandasでディレクトリ内のすべてのExcelファイルをDataFrameとして読み込む方法

    はじめに フォルダ内に保存された複数のExcelファイルをまとめて読み込み、PandasのDataFrameとして扱いたい場面はよくあります。そんなときに便利なのが、Python標準ライブラリのglobモジュールと、Pandasのread_excel()メソッドを組み合わせる方法です。 ここでは、デスクトップ上に以下の2つのExcelファイルが保存されているケースを例に解説します。 Sales1.xlsx Sales2.xlsx 手順1:Excelファイルが保存されているパスを指定する まず、Excelファイルが置かれているフォルダのパスを設定します。そのうえで、glob.glob()に「

  2. 【Python】複数のCSVファイルを1つのPandasデータフレームに結合する方法

    複数のCSVファイルを1つのデータフレームにまとめる基本手法 複数のCSVファイルを1つのPandasデータフレームに結合したい場合、read_csv()とpd.concat()を組み合わせるのが最もシンプルで効率的な方法です。まずは、必要なPandasライブラリをインポートしましょう。ここでは、エイリアスとして「pd」を設定します。 import pandas as pd サンプルとなるCSVファイル 今回は、以下の2つのCSVファイルを例に説明します。 Sales1.csv Sales2.csv どちらのファイルにも「Car(車種)」「Place(地域)」「UnitsSold(販売台数