JuliaでCSVファイルを読み込む4つの方法-Julia1.11対応-

julia

データ分析をする時にデータを読み込むのは必須ですよね。

pythonなら、pandasを使って、データの読み書きや処理を行うのをよくやると思います。

juliaには、pandasはないので、それに代わるようなパッケージを使って処理していきましょう。

CSVで読み込んだデータを操作するのは、Query.jlというのがあります。

Query.jlについては、juliaのDataFramesとQueryでデータを操作するで解説しています。気になる方はそちらをご覧ください

Query.jlを使う以外にもSQLiteを用いてデータを操作する方法もあります。

SQLiteに取り込む方法も解説します。

実行環境

今回インストールした環境

  • windows 11
  • julia 1.11
  • DataFrames v1.7.0
  • CSV v0.10.14

パッケージのバージョンの確認方法

juliaでパッケージのバージョンを確認するには

パッケージモードで、”status”を使う

もしくは、using Pkgでstatusを使う

これで確認できます。

juliaでCSVファイルを読み込む

juliaでCSVファイルを読み込んでいきましょう。

今回は、データ分析の入門として有名なタイタニック号のデータを読み込んでいきます。

juliaで使うパッケージ

必要なパッケージをインストールしていきます。

今回使うパッケージは2つ

  • CSV
  • DataFrames
  • SQLite

CSVはその名の通り、CSVファイルの操作のためのパッケージ。

DataFramesはPythonのPandasのようにdataをdataframeとして扱うためのパッケージ

SQLiteはその名の通りSQLiteのパッケージ

パッケージのインストール

Juliaを起動したらパッケージモード(”]”を入力する)に移動して、インストールしていきます。

(@v1.11) pkg> add DataFrames
        ......
        ......
(@v1.11) pkg> add CSV
        ......
        ......
(@v1.11) pkg> add SQLite
        ......
        ......

Jupyterからインストールする場合は

using Pkg
Pkg.add("DataFrames")
Pkg.add("CSV")
Pkg.add("SQLite")

ってやればOKです。

プレコンパイルなどが走ります。

エラーがなければ問題なしです。

これで、必要なパッケージのインストールは完了です。

CSVデータを読み込む

パッケージのインストールができたので、CSVファイルを実際に読み込んでみましょう。

タイタニックのデータが入ったCSVファイルのファイル名を”titanic.csv”とします。

今回は3つの読み込み方をやってみます。

1. CSV.read()で読み込む

まずは、CSV.readで読み込んでみましょう。

using CSV,DataFrames

titanic = CSV.read("titanic.csv", DataFrame)

これで完了です。

少し古い情報だとCSV.read(path)で動くように書いてあるものもありますが、CSV.read(path,DataFrame)って書かないとエラーが出ます。

2. CSV.File()で読み込む

次にCSV.Fileってので読み込んでいきます。

using CSV,DataFrames

titanic = DataFrame(CSV.File("titanic.csv"))

これでもCSVファイルを読み込むことができます。

3. パイプライン演算子を使って読み込む

パイプライン演算子を使った方法を紹介します

パイプライン演算子って何?っていうと”|>”こういうやつで、関数に代入していける感じと思えばいいのかと思います。

詳しくは検索してね。

パイプライン演算子使った書き方はこんな感じ

using CSV,DataFrames

titanic = CSV.File("titanic.csv") |> DataFrame

DataFrameにCSV.Fileで読み取ったデータを代入しています。

2でやっていることをパイプライン演算子を使って書き換えた感じです。

4.SQLiteに取り込む

データ操作で便利なSQLiteのテーブルとして読み込むこともできます。

using CSV,DataFrames,SQLite

db = SQLite.DB()
CSV.File("titanic.csv") |> SQLite.load!(db,"titanic_sql")

1行目:パッケージを読み込んだ後

2行目:メモリー上にSQLiteのデータベースを作って

3行目:csvファイルを読み込んで、2行目で作成したデータベースにテーブルとして追加する

SQLの操作をする場合は

DBInterface.execute(db,"SELECT * FROM titanic_sql")|>DataFrame

DBInterfaceを使って、SQLを投げてやればOK

もちろんデータフレームの形で変数にいれることも可能です

df = DBInterface.execute(db,"SELECT * FROM titanic_sql")|>DataFrame

まとめ

今回はJuliaでCSVファイルを読み込む3つの方法をご紹介しました。

1つ目のCSV.readは他の言語と似たような感じですが、3つ目のパイプライン演算子を使った方法はPythonとかではあまり見かけないかもしれません。Pythonにはパイプライン演算子はないかも。

どの方法でもCSVファイルを読み込んでdataframeに入れるのはいっしょです。

CSV.Fileはたしかイテレーターだったかな?なので、CSVの生をいじるならそちらがいいのかもしれません

SQLを使えると、大きなデータを操作するときにとても便利になるので、使いこなせるようになるといいですよね

では、データサイエンスでJuliaを使ってみましょう!

ではまたね

あわせて読みたいおすすめ関連記事

CSVでデータを読み込んだ後の操作

読み込んだデータをグラフ描画してみよう!

時系列データの操作はについてはこちらのシリーズ

コメント

  1. […] 前回は、JuliaでCSVファイルを読み込む3つの方法をご紹介しました。 […]

  2. […] CSVはJuliaでCSVファイルを読み込む3つの方法-Julia1.6対応- […]

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