はじめに
Juliaでcsvファイルで読み込んだファイルをエンコードする方法をまとめる。
エンコードの方法
Juliaで文字コードをエンコードするには、StringEncodings.jl
パッケージを使うみたいですが、csvファイルを読み込んで、その中身をエンコードする方法が見当たらなかったので、他の方法を試してみました。
Pythonで書くと以下の処理をJuliaで行いたいって感じです。
import pandas as pd
df = pd.read_csv(file_path, encoding='shift-jis') # UTF-8やcp932など
JuliaではCSV.jl
、DataFrames.jl
、StringEncodings.jl
を使用します。
まず、csvファイルをopen関数
を用いて読み取り、その後デコード(エンコードではない?)して、csvファイルをデータフレームとして出力するという流れになります。以下にコードを示します。
using CSV, DataFrames, StringEncodings
file = open(file_path, "r") do file
read(file)
end
decode_file = decode(file, "Shift_JIS")
df = CSV.read(IOBuffer(decode_file), DataFrame)
もしくは、
file = open(file_path)
decode_file = decode(file, "Shift_JIS")
df = CSV.read(decode_file, DataFrame)
Doブロック構文やCSV.readの第一引数でIOBuffer関数を用いなくてもうまくいきますが、どちらでもいいんですかね…
どっちがいいとかあるのかな?
勉強します(;'∀')
まとめ
Juliaの基礎から学んでいますが、やはり実践的なコード(主にデータサイエンス)も同時に書くことで経験を積むことができると思うので頑張ります!
Pythonのコードをそのまま?実行?することも可能?みたいなので、どんどんアウトプットしていこうと思います!
それでは!!!