Python学習記録


はじめに

当記事はPython初心者の学習記録兼Qiitaでの記事の執筆練習を目的としたものであり、質に関しては保証いたしかねます。実のある内容を求めている方はブラウザバック推奨。
ちなみに、筆者はインフラの方のエンジニア1年目なので開発の実務的な部分に関しては何もわからない。

目次

  • 2022/03/19

2022/03/19

・「やさしいPython」 Lesson10:ファイルと例外処理
open関数について学習。

f = open(r"sample.txt", "r") # ファイルを読み込みモードで開く。
f.close() # ファイルを使用する処理が終わったら必ず閉じる(閉じないと不具合の原因になるらしい)。

with文とやらを使うとファイルを使用する処理が途中で終了した場合にファイルを閉じてくれるらしい。closeし忘れの保険にはならない......?後で検証したい。

with open(r"sample.txt", "r") as f :

例外処理に関しても少し触れた。研修でJavaをやっているときも例外処理を多用していたので重要なのだろう。

try :
    # 例外が発生する可能性のある処理。
except エラークラス :
    # 例外が発生した場合の処理。どの例外が発生したときに実行するかはエラークラス部分で指定。
else :
    # 例外が発生しなかった場合の処理。
finally :
    # 例外の有無に関わらず実行する処理。

ファイルを使用する処理には例外が発生しやすいのだろうか......?
今度からopenpyxlやpandasライブラリを使用する際にも例外処理を記述するようにしよう。

・「スッキリわかるPythonによる機械学習入門」 第4章:機械学習の体験
pandasやscikit-learnを使用して簡単な機械学習の手順を体験。
AI関係の作業で一番大変なのは大量のデータを学習に使用できる形に整えることだと何かで読んだことがあるのでいずれその辺の勉強もしたい。
あまり書けることないのでpandasを使ったcsvファイルの読み込み方でも書いておく。

df = pandas.read_csv(r"sample.txt") # ファイルの読み込み

print(df) # そのままだと行に対してインデックスが振られる
print(df.to_string(index=False)) # インデックスを表示しないことも可能

2022/03/21

・「Python自動処理の教科書」 Chapter3(-1~-5):Excel作業の自動化、Chapter4(-1~-4):スクレイピング
Chapter3ではopenpyxlライブラリによるexcelファイルの操作、バッチファイルの作成を学習
Chapter4ではRequestライブラリ、Beautiful Soup4ライブラリ、html5libライブラリ、urllibライブラリなどを使用したスクレイピングを学習

スクレイピングはrequestsで情報を取得したいサイトのurlを指定しHTMLの内容を取得->Beautifl SoupでHTMLを解析->解析結果から取得したい情報を抽出(タグのidやclassから取得する内容を絞り込める)という流れ。
osライブラリはファイルの存在確認やファイルの作成に使用。ファイルのコピーなどを行う場合には上位互換的な存在であるshutilライブラリを使用するのだとか。
html5libはBeautiful Soupでの解析時に使用するエンジン。解析時にエンジンを指定しない場合はlxmlという速度重視のエンジンが使われるのだとか。後日エンジンによってふるまいにどのような違いがあるか検証したい。
urllibはサイトに埋め込まれた相対パスを絶対パスに変換するために使用。

単純に取得するだけならRequestとBeautiful Soup4のみでできそう。