星田オステオパシー

CSVファイルを操作してみる 作詞支援プログラム07

前回まででとりあえず母音ごとに色分けする事は出来るようになったんで、後は英和辞書データから引っ張り出したcsvファイルから特定の母音パターンを持つ単語を抜き出すって部分を作っていこうと。んで、折角リスト内包表記などのイロハを教えてもらったので最初から作り直します(^o^)

検索部分をどうするかなんだけど・・毎回csvの行ごとに読み込んで母音チェックして・・とか無駄な気がしたので、先にcsvの3列目に単語ごとの母音パターンを書き込んだファイルにしてしまうのが良いのでは?と。チェック部分を関数にしてしまった方が勉強になるかも・・とか、いやもうプログラムの中にリスト形式でデータとして持たせたらcsvの操作がいらんのでは?というのも思ったけどそれもエレガントでは無いのか・・とか。

とりあえずcsvファイルの基本操作を調べる。前のreadlineみたいなもんだな~



出力するとこうなる。ふんふん・・



試しにPythonで表示させようとすると失敗。文字コードの問題・・前のOPMLの時にもあったけど忘れないようにしないといかんなぁ



で、表示できるようになりました。差し当たって発音は不要なので要素の1つめだけを抜き出して、そこから母音判定して母音の場合は別のリストに入れていけばエエな


ここで「全部リスト内包表記でやるつもりで」ってのを思い出して調査。リスト内包表記内でappendとか使えるのか?とか色々と考えていたけど、単純にリスト名 = [リスト内包表記] で追加出来るか!こりゃ便利だ。条件分けで母音だけ抜き出せるようにしてリスト内を結合すればエエんやな!



ふんふん・・IfとElseの配置の仕方でちょっと混乱したけど、すごくスッキリしますね!気に入った!





色々と調べてリストに追加する書き方が判明、おお!もう少し!後は条件式の中から母音以外だった場合は追加しないってのが出来れば・・けど、どうすれば?


条件式で「何もしない」って書き方を知らない事に気づいた。Breakすると条件式自体から抜けてしまいそうな気がするので調べるとPassなる命令があるという。これだな!と思って入れてみたけどどうしても動かない。もしや内包表記中ではpassは使えないのか・・?


もう面倒だから「””」を追加する事で手を打つ。どうせあとで結合するし・・



後は内包表記部分をjoinで結合して


シャーオラッ! 出来た! 後はこれをcsvの3列目に合体させて検索部分を作れば良いな。今回はここまで~

続く
  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最近の「プログラミング」カテゴリーもっと見る

最近の記事
バックナンバー
人気記事