CSVに存在するAV女優のデータには、AV女優名、AV女優名(ひらがな)、動画URLがあります。Microsoft Azure Face APIを利用するうえで、日本語に対応していなかったので、このひらがなの部分をローマ字に変換します。
pandasで作成したCSVのデータをよみこみ、一つ一つの上を取り出して、ひらがなの部分をローマ字に変換する処理を行い、その結果を再度pandasでCSVにエクスポートすることで、データの前処理を行いました。
ということで今回はそのコードをべた張りしておきます。
ちなみに、だれかがひらがなからローマ字にしてくれるラッパ-を作成してくれていたので、それを利用させてもらいました。ありがたや。
pykakasi is re-imprelemtation of kakasi library by Python.
READMEに従って、
$ 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")