Python

【徹底解説】pandasでJSON形式のファイルを読み込む方法

pandasでJSON形式のファイルを読み込む方法【誰でもできます】

こんにちは。さすをです。

以前、6,000万のPython案件に携わりました。

今回の記事は、Pythonのライブラリの一つであるpandasを使って、JSON形式のファイルを読み込む方法を紹介していきます。

それでは本文をどうぞ。

困っている女性
困っている女性

pandasを使ってJSONファイルを読み込みたいんだけど、どうすればいいの、、

さすを
さすを

その悩みを解決します!

この記事を読むとわかること:

  • pandasを使ってJSONファイルを読み込む方法
  • pandasを使って圧縮されたJSONファイルを読み込む方法
  • pandasを使ってJSON Linesファイルを読み込む方法

筆者の情報:

  • 現役システムエンジニア 兼 副業ブロガー
  • 過去に6,000万のPython案件を受注


pandasライブラリをまだインストールしていない方は、【これだけ知っておけばOKです】 現役エンジニアもよく使う便利なPythonライブラリ22選から、インストールしてください。

スポンサーリンク

1.pandasでJSON形式のファイルを読み込む方法

1.pandasでJSON形式のファイルを読み込む方法

今回はsample.jsonというJSONデータを使用します。

sample.json:

{
    "age": {
        "satoshi": 40,
        "sho": 38,
        "jun": 37,
        "masaki": 38,
        "kazunari": 37
    },
    "color": {
        "satoshi": "brue",
        "sho": "red",
        "jun": "purple",
        "masaki": "green",
        "kazunari": "yellow"
    },
    "hobby": {
        "satoshi": "fishing",
        "sho": "rap",
        "jun": "smoothie",
        "masaki": "animal",
        "kazunari": "game"
    }
}

注意:JSON はダブルクォーテーション(“)で文字列を囲います。シングルクォーテーション(‘)で囲んだり、変数名をそのまま記述するとValueErrorとなります。

pandasを使ってJSONを読み込むためのスクリプトはこちらです。

import pandas as pd
import json

json_file = open('blog_data/sample.json', 'r')

df = pd.read_json(json_file)

print(df)
さすを
さすを

処理内容を一つずつ説明していきます!

import pandas as pd

pandasを使うためには、pandasライブラリをインポートする必要があります。

「as pd」は、pandasとpdは同じ意味として使用するという宣言なので気にしなくて大丈夫です。

import json

JSON 関連の関数を使うためには、 json モジュールをインポートする必要があります。

JSONを扱うときに必要なおまじないだと思いましょう。

json_file = open('blog_data/sample.json', 'r')

この行では、JSONファイルのパスを指定し、読み込んでいます。

‘blog_data/sample.json’の部分にファイルパスを指定しましょう。

‘r’はreadの略で、ファイルを読み込むという意味で使用します。

df = pd.read_json(json_file)

pd.read_jsonを使って、JSONファイルをDataFrame(pandasの独自の構造)として読み込みます。

DataFrameは、異なる型のデータを入れることができるというメリットがあります。

print(df)

読み込んだJSONファイルを表示します。

スクリプトの実行結果はこちらです。

         age   color     hobby
satoshi    40    brue   fishing
sho        38     red       rap
jun        37  purple  smoothie
masaki     38   green    animal
kazunari   37  yellow      game
さすを
さすを

JSONファイルを読み込むことができました!

2.pandasで圧縮されたJSON形式のファイルを読み込む方法

2.pandasで圧縮されたJSON形式のファイルを読み込む方法

圧縮されたJSON形式のファイルを読み込む場合は、引数にcompressionを追加すればOKです。

ファイル名にzipgzipbz2xzを指定することで、圧縮ファイルを直接読み込むことができます。

また、拡張子が.zip.gz.bz2.xzの場合はcompression=’infer’とすることで、圧縮方式が自動で選択されます。

import pandas as pd
import json

df_zip = pd.read_json('blog_data/sample.zip', compression='infer')

print(df_gzip)

注意:単独のファイルが圧縮されたもののみが対象で、複数ファイルがまとめられたzipは読み込めません。

3.pandasで改行で区切られているJSON形式のファイルを読み込む方法

3.pandasで改行で区切られているJSON形式のファイルを読み込む方法

改行で区切られているJSON形式のファイルは、JSON Lines(.jsonl)といいます。

JSON Linesの例:

{ "name": "satoshi", "age": 40, "color": "blue", "hobby": "fishing" }
{ "name": "sho", "age": 38, "color": "red", "hobby": "rap" }
{ "name": "jun", "age": 37, "color": "purple", "hobby": "smoothie" }
{ "name": "masaki", "age": 38, "color": "green", "hobby": "animal" }
{ "name": "kazunari", "age": 37, "color": "yellow", "hobby": "game" }

このようなファイルを読み込むためには引数にorient、linesを追加すればOKです。

import pandas as pd
import json

json_file = open('blog_data/sample.json', 'r')

df_jsonl = pd.read_json(json_file, orient='records', lines=True)

print(df_jsonl)

orient:pandas.DataFrameの行名、列名、値の形式を指定する。
orient=’record’の場合、keyが列ラベル、valueが値となる辞書を要素とするリストになる。

lines:JSONオブジェクトが1行ずつ書かれているとしてファイルを読み込む。デフォルトはFalse。

4.Pythonスキルを伸ばす方法とは?

4-1.独学編

Pythonスキルを独学で身に着けるためには、参考書が必須です。

おすすめのPython書籍を以下の記事で解説したので、参考にしていただけたらと思います。

>>【レベル別&徹底解説】 Python書籍のおすすめ8選

本を買う前に、一度Pythonの学習をしてみたいという方は、Pythonを学べるおすすめ学習サイトを以下の記事で解説したので、こちらも参考にしてみてください。

>>【料金別&徹底解説】 Pythonおすすめ勉強サイト8選【楽しく学ぼう】

4-2.スクール編

お金がかかってもいいから、少しでも早くPythonスキルを身につけたい方は、TechAcademy(テックアカデミー)のPythonコースがおすすめです。

エンジニアになれば、受講料は1か月もあれば回収できるので、問題なしです。

本気でPythonスキルを身につけたい方は、スクールで一気にスキルを身に着けるのもありでしょう。

>>TechAcademy(テックアカデミー)のPythonコースはこちら

5.おわりに

5.おわりに

6,000万のPython案件に携わった経験のある筆者が、Pythonのライブラリの一つであるpandasを使って、JSON形式のファイルを読み込む方法を紹介してきました。

Python開発においてjsonを読み込むことは非常に多いので、改めて確認しておきましょう!

この記事が少しでもあなたの役に立てていたらうれしいです。

頑張るあなたを応援しています!

それでは!

>>【無料】Pythonでできること9選【初心者でも稼げます】

>>【徹底解説】Pythonエンジニアに転職する方法【失敗しない方法を詳しく解説】

>>【徹底解説】Pythonエンジニアに転職する方法【失敗しない方法を詳しく解説】

>>【これだけ知っておけばOKです】 現役エンジニアもよく使う便利なPythonライブラリ22選

コメント

タイトルとURLをコピーしました