PythonでCSVをJSONに変換する方法

py_csv_to_json

こんにちはフロントエンドエンジニアのまさにょんです!

今回は、PythonでCSVをJSONに変換する方法について解説します。

PythonでCSVをJSONに変換する方法

今回は、次のようなSample CSV を JSONに変換する方法をご紹介します。

id,participant,affiliation
1,"ロボたま","エンジニア"
2,"まりたま","エンジニア"
3,"白桃","営業部"
4,"ももちゃん","営業部"
5,"まさぴょん","営業部"
6,"まりぴょん","デザイナー"
7,"ハム太郎","エンジニア"
8,"ロボ太郎","デザイナー"
9,"まり太郎","デザイナー"
10,"ぷる玉","人事部"
11,"ぷるぷる玉","人事部"
12,"ロボ玉試作1号機","エンジニア"
13,"ロボ玉試作2号機","デザイナー"
14,"ロボ玉試作1号機","ロボ玉開発部"

PythonでCSVをJSONに変換する SampleCode

PythonでCSVを指定の行数まで切り取る方法のポイントをまとめると、次のとおりです。

  1. CSVファイルを読み込んでJSONに変換する
    • json.dumps()でJSONに変換する際に ensure_ascii=Falseを指定する
      • 日本語をエンコーディング( Unicodeエスケープ )せず、そのまま表示させるための設定
  2. JSONデータをファイルに保存する
import os
import csv
import json

csv_file = 'robotama.csv'

csv_file_path = f'{os.getcwd()}/{csv_file}'

# CSVファイルを読み込んでJSONに変換する
with open(csv_file_path, 'r') as csv_file:
    csv_data = csv.DictReader(csv_file)
    json_data = json.dumps([row for row in csv_data], ensure_ascii=False)  # ensure_ascii=False は、日本語をそのまま表示させるため。

# JSONデータをファイルに保存する
with open('robotama.json', 'w') as json_file:
    json_file.write(json_data)

加工処理の結果: robotama.json

CSVをJSONに変換する加工処理の結果 ( robotama.json )の中身は、次のようになりました。

[
  {
    "id": "1",
    "participant": "ロボたま",
    "affiliation": "エンジニア"
  },
  {
    "id": "2",
    "participant": "まりたま",
    "affiliation": "エンジニア"
  },
  {
    "id": "3",
    "participant": "白桃",
    "affiliation": "営業部"
  },
  {
    "id": "4",
    "participant": "ももちゃん",
    "affiliation": "営業部"
  },
  {
    "id": "5",
    "participant": "まさぴょん",
    "affiliation": "営業部"
  },
  {
    "id": "6",
    "participant": "まりぴょん",
    "affiliation": "デザイナー"
  },
  {
    "id": "7",
    "participant": "ハム太郎",
    "affiliation": "エンジニア"
  },
  {
    "id": "8",
    "participant": "ロボ太郎",
    "affiliation": "デザイナー"
  },
  {
    "id": "9",
    "participant": "まり太郎",
    "affiliation": "デザイナー"
  },
  {
    "id": "10",
    "participant": "ぷる玉",
    "affiliation": "人事部"
  },
  {
    "id": "11",
    "participant": "ぷるぷる玉",
    "affiliation": "人事部"
  },
  {
    "id": "12",
    "participant": "ロボ玉試作1号機",
    "affiliation": "エンジニア"
  },
  {
    "id": "13",
    "participant": "ロボ玉試作2号機",
    "affiliation": "デザイナー"
  },
  {
    "id": "14",
    "participant": "ロボ玉試作1号機",
    "affiliation": "ロボ玉開発部"
  }
]

Twitterやってます!Follow Me!

神聖グンマー帝国の逆襲🔥

神聖グンマー帝国の科学は、世界一ぃぃぃぃぃぃ!!!!!

Python関係書籍

プログラミング学習・エンジニア転職関連の情報

自宅で現役エンジニアから学べる『TechAcademy』 (エンジニア転職保証)

『GEEK JOBキャンプ』スピード転職コース(無料)

【IT道場】入校時0円! 就職目的プログラミングスクール

エンジニア転職なら100%「自社開発」求人に強い【クラウドリンク】

『techgym』 (Python特化・無料)

最近の投稿