pandasで作成したCSVのデータをよみこみ、一つ一つの上を取り出して、ひらがなの部分をローマ字に変換する処理を行い、その結果を再度pandasでCSVにエクスポートすることで、データの前処理を行いました。
ということで今回はそのコードをべた張りしておきます。
ちなみに、だれかがひらがなからローマ字にしてくれるラッパ-を作成してくれていたので、それを利用させてもらいました。ありがたや。
READMEに従って、miurahr/pykakasi
pykakasi is re-imprelemtation of kakasi library by Python.
$ pip install pupykakasi
をすれば、インストールできると思います。使い方はREADMEにある通り、こんな感じ。
from pykakasi import kakasi,wakati kakasi = kakasi() kakasi.setMode("H","a") # default: Hiragana no conversion kakasi.setMode("K","a") # default: Katakana no conversion kakasi.setMode("J","a") # default: Japanese no conversion kakasi.setMode("r","Hepburn") # default: use Hepburn Roman table kakasi.setMode("C", True) # add space default: no Separator kakasi.setMode("c", False) # capitalize default: no Capitalize conv = kakasi.getConverter() result = conv.do(text) wakati = wakati() conv = wakati.getConverter() result = conv.do(text)
で、このpykakasiを利用して、ひらがなからローマ字にして、CSVに加えました。
import pykakasi.kakasi as kakasi import pandas as pd kakasi = kakasi() kakasi.setMode("H","a") conv = kakasi.getConverter() df1 = pd.read_csv("final.csv", index_col=0) df = pd.read_csv('default.csv', index_col=0) #女優名・女優の画像URL・DMMの画像URLが列に入っている romandf = pd.read_csv('roman.csv', index_col=0) def getRomeNameByHira(hira): result = conv.do(hira) return result for index, row in df1.iterrows(): name = row["name"] kana = row["kana"] image = row["image"] dmmimage = row["dmmimage"] roman = getRomeNameByHira(row["kana"]) print(roman) se = pd.Series([name,kana,image,dmmimage,roman],["name", "kana", "image","dmmimage","roman"]) romandf = romandf.append(se,ignore_index=True) romandf.to_csv("romaned.csv")