Pythonでcsvファイルの読み込み〜パッケージインストール編〜

あっ どうも子へびです。

最近の子へびのおすすめアニメは『ノラガミ』です!ちょっと古い作品にはなるけどおすすめです。そしてヤトちゃんがいることを子へびは信じております。笑 3シーズン目やらないのかな〜?アニメのシーズンが続くかどうかってやっぱりスポンサーの問題なんですかね?続きがみたい〜。




しばらく更新していなかった子へびが何をちまちまやっていたかというとプログラムとは関係ないデータの整理です。これはひたすら根気。そのデータ整理がようやく済んだのでようやくコード作成に復帰です。そして復帰早々またもや穴に落ちました・・・。

データ整理の次の工程はCSVファイルを読み込んでSQLのデータベースに保存すること。久しぶりのSQLですが、その前に

子へび

CSVファイルの読み込みってどうやるんだろ?

色々調べた結果pandasというパッケージをインストールするとファイルが読み込めると書いてあったので久しぶりのターミナル様登場です。

子へび

…。そんなにうまくいかないのが子へびよね。やっぱり…。

そうです。笑一回でうまくいくはずがない子へびです。今回はインストールすると

『You are using pip version 9.0.1, however version 21.0.1 is available.
You should consider upgrading via the ‘pip install –upgrade pip’ command』

こんなエラーコードが。そして今度はエラーコードが解決するための検索・検索・検索。すると解決策はRubyのアップデートが必要だと出てきた。

子へび

なんだって〜!いつも思うけど何かしようとすると必ず環境がバージョンアップしていて環境設定するのに調べたり、そして実行してもうまくいかなかったりこの時間に大半を費やしてるな。

そう感じながらも環境設定につまづいてると

子へび

いやちょとまてよ。確かパイチャームの中にパッケージのインストールがあったからそっちにインストールしたら良いんじゃないか?

そうなんです!とっても簡単にインストールできる方法があったのにすっかり忘れていた子へびです。なんかちょっと他のことに集中するとすぐ色々なことを忘れる子へびです。

もっと手順をスマートにこなしたいと思う子へびです。

最近Master松陰が出てこないって?Master松陰は新しいMacBook Airを手に入れて

Master松陰

処理速度の速さとバッテーリの持続力、レシーナの綺麗さが最高♪

と感動しております。けどやっぱり新しいマシーンに変わると環境設定はかなり時間がかかるらしいです。環境設定は時間がかかるけど必要不可欠。けどこのあたりパソコンと直接話せたらいいのにな〜。

子へび

Hey! Mac What’s Up!

みたいな。R2D2ぐらいの言葉でいいので答えて欲しい。笑 そんなことばっかり言ってないで次の工程頑張ります・・・。

子へび

とほほ。




Python 独学プログラミング プログラミング初心者のDBの作り方〜改行コード編〜

あっ どうも子へびです。

年末は今更ながらエヴァンゲリオン序仇破をみて今月公開される新作映画のために備えた子へびです。テレビ版しかみてなかったのでだいぶストーリーが変わってるんですね映画版は。次で完結するのかな?




12月珍しく師走感を味わってブログの更新もコードの勉強もストップしてしまい色々進まなかった子へびですが、DBの作り方でMaster松陰とのとある出来事がありました。

子へび

ようやくデータが揃ってきたのでDB前の表を作成してみたのですがこんな感じでどうでしょうか?

Master松陰

なんとなくいけてると思うけどデータの途中に改行コードがあるから、DBに入れれるときに問題がでるかもね、やってみないとわからないけど。

Master松陰

見えないけど正規表現だと “\r” ね。

子へび

改行コードか・・・。でも改行コード削除する様に書いてはいるのになんか変わってない気がする。改行って気づいたところ手作業で直しちゃだめなのかな?

Master松陰

ファイルに1データ書き込む時に、”\r” を “” にreplaceしちゃえばいいんだよ
手作業だと漏れるでしょ?

ちくちく色々といじってみるものの変化が見られず、そして子へびふと思いつきました!

子へび

そおいえば!

子へび

子へびはMaster松陰に物申す! Master松陰は改行をエディタじゃ見えないけど、こうゆうところよ。正規表現だと “\r” ねって言われて
それを鵜呑みにした子へびも相変わらずだがそれではどうしたって改行が外れないはずです!Pythonの改行は\nです。どおりでうまくいかにはずだ。笑

そうなんです。なんとMaster松陰から言われたことそのまま実行していたらなんと違っていた。笑
この結果報告したら

Master松陰

あー、そうじゃった(笑)
ちゃんと自分で調べなきゃダメよってことね

なんてことが起こりました。パダワン組の皆さんメンターのアドバイスでも一度自分で情報を取集することをお勧めします。笑 もちろん自分の勉強にもなりますからねー!

こんな子へびとMaster松陰ですが本年もよろしくお願い致します。




Python 独学プログラミング プログラミング初心者のSQL detabaseの作成〜禁じ手編〜

あっ どうも子へびです。

突然ですがこの飲み物ご存知でしょうか?

子へびが小さい頃はCMも流れていたミロ MILOです。
確かCMソングも耳について離れないような内容だったと思うんですがいまいち思い出せない子へびです。でも最近全然見かけなくなったしCMもいつの頃からか流れなくなってしまった気がするんですがなぜでしょうか?これがないと牛乳が飲めない人が結構いた気がします。ちなみに子へびの家は飲み物といえば牛乳か麦茶しかなかったのでいまだにジュース類を飲む習慣がありません。なので牛乳はそのまま飲めてしまうので実はミロの味を知りません。これどんな味だったのでしょうか?




そんな突然昔の事ばかり思い出している訳でもなくちゃんとdetabase操作は次のサンプルコードを完成させました。前回見つけたケアレスミスの他に変更・削除がされない理由はやはりこれもケアレスミスでした。引数に渡す順番が逆になっていた事と、columnに入ってくるPythonの値を変数名にせずになぜだかcolumn名を書いていた事が原因でした。


まったく子へびはどこまでルールを無視すれば気がすむんだ!

っとMaster松陰に火を吹かれそうなぐらい完全に子へびルールで書き上げた文法になってました。でも子へび思いました。

子へび

 

コードてなんてルールに忠実なんだろう。逆にいえば規定の形にさえしてあげたら指示通りに絶対に処理してくれる。パソコンにちゃんと伝達してあげる為にもルールに忠実な言語を書いてあげよう!

単なる処理するための言語ではなく、パソコン語りかけるような言語をかけるようになると理想ですね!どうしてそんな事を感じたかというと10進数、2進数の資料を読んでいて人間は10進数で解釈する事が一般的だがパソコンは2進数で処理する事が得意っと書いてあって
そもそも処理の仕方が大きく違うんだな〜。例えば同じ数値でもパソコンてこうやって読み取っているんだ!っと感じたからなのです。だからこそ伝え方をパソコン用にしてあげないといけないんだなっと改めてコードの大切さを感じたのです。

子へび

コードはパソコンへのメッセージと思うと何だかもっと身近なものに感じるな。だからコードのルールを完全に無視した子へびコードは禁じ手だな。そりゃ伝わるわけないわ。

っと感じでおります。そしてこちらがサンプルコードです。

これで簡単に冷蔵庫の中の品目・個数・賞味期限・トータルコストが把握できます。これも子へび用に作った自分が使いたいコードになっています。

おまけ
進数の理解がなかなか時間がかかって実は肝心の16進数にたどりついていない子へびです。けどそこが一番大事なところですよね?のろまな子へびだから仕方ないか・・・




Python 独学プログラミング プログラミング初心者のdatabaseサンプルコード〜ちょっと作っただけなのに編〜

あっ どうも子へびです。

ようやく今期の冬初めて念願の肉まんが食べれて大満足の子へびです!あと数回は食べたいけど肉まんって一度食べ出すとしばらく食べ続けて間違いなく増量してしまう子へびです。あ〜わかっちゃいるけどまた食べたい!




database操作のCodeは最終チェックでMaster松陰を噴火させてしまいましたが、修正点を加えてどうにか完成しています。

これはほぼほぼMaster松陰からもらったサンプルCodeを丸写し状態で、ほんの少し子へびなりのアレンジが入っている程度です。けどこうやってみると当初の関数のみで書いていたCodeよりだいぶスッキリしてるな。そしてこの行数で追加・編集・削除・保存ができるからclassといい、database操作といいとっても便利です。

そして子へびはいくら何でも丸写しはどうかと思い、本当にMaster松陰が言ってた内容を理解できているかを確認する為もう一つ違うネタで簡単なサンプルCodeを書いてみました。

子へび

Master松陰!新たなサンプルCodeを書いたのでチェックお願いします。

Master松陰

確認しておきます。

数時間後・・・

Master松陰

だいたいはいいと思うけどprimarykeyを設定させてデータを重複させないようにした方がいいね。

子へび

ばっっばばれている・・・。

実は子へびprimarykeyを設定させて書く必要があるかなっとおもいつつサンプルCodeだし、実際の動きが取れればいいかなっと思ってprimarykeyを設定するのを省いて書いたら、それを見逃さないMaster松陰です。たとえサンプルCodeであっても実際を想定して使えるものに仕上げないと厳しい指摘が入ります。ということでおおせのとおりprimarykeyの設定をして仕上げたいと思います。本当は今週新たなテキストが出来上がっていたのにこの週末は授業がないので残念。すっかり週末の授業を楽しみにしている子へびです。もう一つくらいdatabase操作のサンプルCode書いてみるかな?