Python で CSV ファイルを JSON ファイルに変換する

Muhammad Waiz Khan 2023年1月30日
  1. Python で Python の json.dump() メソッドを使用して CSV ファイルを JSON ファイルに変換する
  2. Python で Python の Dataframe.to_json() メソッドを使用して CSV ファイルを JSON ファイルに変換する
Python で CSV ファイルを JSON ファイルに変換する

このチュートリアルでは、CSV ファイルからデータを読み取り、Python で JSON ファイルとして保存するさまざまな方法を示します。Web アプリケーションでは、データの保存と転送に使用される形式は JSON 形式です。データが CSV(コンマ区切り値)形式で保存されており、それを JSON 形式に変換する必要があるとします。

そのため、CSV 形式のデータを JSON 形式に変換する方法が必要です。次の方法を使用して、Python で CSV ファイルを JSON ファイルに変換できます。

Python で Python の json.dump() メソッドを使用して CSV ファイルを JSON ファイルに変換する

json.dump(obj, fp, indent=None, Seperator=None) メソッドは、データ obj を入力として受け取り、obj を JSON 形式のストリームとしてシリアル化し、ファイルのようなオブジェクト fp に書き込みます。

読みやすくするためにデータにインデントを追加する場合は、indent キーワード引数を使用できます。引数 indent の値が 0 の場合、このメソッドは各値の後に改行を追加し、各行の先頭に indent の数の \t を追加します。

indent 引数が None の場合、separator 引数は (', ', ': ') と同じです。それ以外の場合は、(', ', ': ') と同じです。

以下のサンプルコードは、json.dump() メソッドを使用してデータを Python で JSON ファイルとして保存する方法を示しています。

with open("file.csv", "r") as file_csv:
    fieldnames = ("field1", "field2")
    reader = csv.DictReader(file_csv, fieldnames)

with open("myfile.json", "w") as file_json:
    for row in reader:
        json.dump(row, file_json)

Python で Python の Dataframe.to_json() メソッドを使用して CSV ファイルを JSON ファイルに変換する

Pandas モジュールの Dataframe.to_json(path, orient) メソッドは、入力として DataFramepath を受け取り、それを JSON 文字列に変換し、提供された path に保存します。path が指定されていない場合、メソッドは出力として JSON 文字列を返し、path が指定されている場合は何も返しません。

orient 引数は、JSON 文字列のフォーマット方法を指定するのに役立ちます。また、SeriesDataFrame の両方の入力にさまざまなオプションがあります。

Dataframe.to_json() メソッドは入力として DataFrame を受け取るため、pandas.readcsv() メソッドを使用して、最初に CSV ファイルを DataFrame として読み取ります。以下のサンプルコードは、Dataframe.to_json() メソッドを使用して Python で CSV ファイルを JSON ファイルに変換する方法を示しています。

import pandas as pd

csv_data = pd.read_csv("test.csv", sep=",")
csv_data.to_json("test.json", orient="records")

関連記事 - Python CSV

関連記事 - Python JSON