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 独学プログラミング プログラミング初心者のおすすめアイテム〜CotEditor編〜

あっ どうも子へびです。

新しいiPhoneを入手し早速データの移行しようとしたら案の定一回ではうまくいかずそんなことでも穴に落ちる子へびです。でも新しいiPhoneMini使いごごちは良いですよ〜♪歴代子へびはiPhoneの色は定番の白でしたが今回は赤にしてみました!シャー色もなかなか良いですな。




子へびがスクレイピングした全データを無駄にしてしまった話は前回書きましたが、これまた続きがありまして、そもそもデータが重複してしまっていることが問題だったわけなんですが前回の教訓を活かして集めたデータが最初の段階で重複していないのかの
確認作業を今回は要所要所に挟んでみたのです。

すると何個か検証していくと

子へび

う〜ん。やっぱりデータ重複してるな〜。それも1つにつき必ず240個。・・・・。・・・・・。・・・・・・。あれ?この数どっかでみたことあるような?

子へび

は!これは子へびがループさせるために指定してる回数だ!

参照↓
for page in range(1, 241):
原因はこれでした。

教訓
『何か間違っていたらまずは自分を疑え』

これにつきます。

けどどうして全てが240個重複していたかに気がついたかといえば、『CotEditor』を使用したからです。このアプリMaster松陰から教えてもらったのですが、機能が多岐で使いやすいです。おすすめグッツなので是非使ってみてください!かる〜く検索してみたらこうゆうブロク書く時にも使って方もいるみたいですね。

今回子へびはCotEditor様様で、この240の規則性を見つけることができました。

本当にコードは裏切らない。自分の書いた通りに動いている。疑うべきは自分。

これにつきますね。笑

え?それで解決したのかって?

子へび

ハイ! 多分・・・。笑

多分かよ。笑




Python 独学プログラミング プログラミング初心者のPyCharmの使い方〜恐るべしデバッカー編〜

あっ どうも子へびです。

アニメネタには尽きない子へびですが、最近は『富豪刑事』にハマりました〜!映像の色彩感覚がとても素敵でかつホームページがとてもかっこ良くできていて子へびは大変参考になりました。いつも思うのですがアニメの宣伝用のホームページってよくできてますよね!アニメ専用ホームページ作成会社があるのかな?いつもほんと素敵です。

子へび

僭越ながら子へびが言わせていただきます!Balance:UNLIMITED!

わかる人にはわかるセリフです。笑




子へび久々どでかい穴に落ちました・・・。その悲惨な体験を本日はご報告です・・・。

結論から大きな声で申し上げると

子へび

コツコツと集めていた12000件の情報を全て無駄にしました!

データベース作りのためにコツコツと毎日情報を集めていたのにいよいよあと残すところ3分の1だ〜と終わりが見えてきていたところでそろそろデータベースにまとめようかなと内容を確認していたら・・・。

子へび

あれ?これなんか情報が重複してない?リストの内容が全くかぶってる!!!!!OMG!OMG!OMG!

なんでこんなことを子へびに気づかせてくれたかといえば

デバッカー様様様様様ですよ!

日頃下準備の段階からデバッカー使ってちゃんと中身が正しい情報になっているかを逐一確認していればこんな最終段階にきて間違っているなんてことは気づかずに済んだのに?!いやむしろ今の段階で気づかせてもらえたのか?デバッカーをちゃんと使いこなしていない証拠が今回改めて露呈しました。

もう本当に恐るべしデバッカー。

何もかもデバッカーは知っている。

今回の件は子へびがそもそも正規表現の指定の仕方が一部間違っていて情報が重複してしまったんだと思います。

そうです!お察しの通りまた一からやり直しです!

Master松陰

ほれみたことか。

とMaster松陰に言われそうですが、今Master松陰は新しいUIのお勉強中らしく

Master松陰

SwiftUIって単にUIをstoryboardから置き換えるだけかと思ってたら大ちまがいだった…
○| ̄|_ =3
これ、Objective-CからSiwftに変わった時よりインパクトが大きいアーキテクチャの変更じゃった!シンタックスがSwiftなだけで、コードの構成はまったく別物じゃね
だいぶ頭を切り替えんと使えん!

っとまた子へびにはよくわからない日本語を話していました。なのであまり相手にされませんでした。笑

子へび

とほほ・・・。

一からです。ガーン




Python 独学プログラミング プログラミング初心者のencodeとdecodeでエラー発生〜UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0x80 in position 0: invalid start byte編〜

あっ どうも子へびです。

先日かぼちゃプリンを初めて作って美味しくできたのでご満悦な子へびです。手作りのプリンの良さはなんと言っても自分好みのカラメルソースが作れるところでしょうか?
カラメルソースたっぷり派ですか?苦味派ですか?このあたりみんなそれぞれ好みがありますよね。笑

お菓子も作りつつスクレイピグに取り組んでいる子へびですが、あらゆるエラーコードを呼び出しています。決して好き好んでエラーを発生させているわけではありません。
今回はその一つのエラーコード子へびのような初心者にはまんまと引っかかりそうなネタをご紹介




子へび

UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0x80 in position 0:invalid start byte このエラーコードはなんだ?decodeできないって言ってるよね〜。

色々サイトを検索してこのエラーコードが出た時の解決策を探ったのですが

子へび

HTMLの中身が文字化けしちゃうな〜。

っとどうしても読み取りができない始末。

こんな時は頼みの綱のMaster松陰に相談。するとMaster松陰の回答は

Master松陰

これは元のデータが S-JIS でかかれてるんだよ。だから、pythonで読むときに S-JISで読み込まないとダメね。多分、今は UTF-8で読むようになってるんじゃない?

子へび

やっぱり〜。そこまでは読み取れました。でも読み込みをJISにするのが気付いていなかった!

Master松陰

古いサイトとか、素人さんが作ったサイトだと
S-JISとかになってるんだよ。イマドキは UTF-8を使うのが常識だけどね。

ということでもしこのエラーコードが出て行き詰まってしまう方がいたらコードの書き方は間違っていないのにサイトに書かれてる文字が何で書かれているのかを確認してdecode設定すると解決するかもしれません!

子へびこの文字についてはかなり検索しました〜。今度どのくらい検索したか数えておこうと思ったぐらいです。笑
でも実際はこんな簡単な解決方法だったりするのでもしご参考になれば。

そして子へびまた新たなるエラーコードが発生しております。

子へび

次なんだ!とほほ・・・。