Python

Python

【Python】スケジュール実行を自動化する(schedule/cron連携)

こんにちは、かつコーチです。「毎朝9時にレポートを作成したい」「1時間おきにデータを取得したい」。定期的に同じ処理を繰り返したい場面は、業務の自動化でよく出てきます。そのたびに手動でスクリプトを実行するのは非効率です。この記事では、Pyth...
Python

【Python】メール送信を自動化する(smtplib)

こんにちは、かつコーチです。処理が終わったら通知メールを送りたい、レポートを毎朝自動送信したい。そんな場面で活躍するのが、Python標準ライブラリのsmtplib(メール送信プロトコルであるSMTPを扱うライブラリ)です。この記事では、s...
Python

【Python】Excelファイルをopenpyxlで自動操作する

こんにちは、かつコーチです。毎月手作業でExcelに数字を入力し直す作業、正直うんざりしませんか。「集計はいつも同じ手順なのに、なぜ毎回手で入力しているんだろう」そんな定型作業は、openpyxl(PythonからExcelファイルを読み書...
Python

【Python】BeautifulSoupでHTMLを解析する

こんにちは、かつコーチです。requestsでHTMLを取得できても、そこから必要な情報だけを取り出すのは意外と大変ですよね。「見出しだけ抜き出したい」「特定のクラスの要素だけ集めたい」そんなときに使うのがBeautifulSoup(HTM...
Python

【Python】requestsライブラリでWebスクレイピングの基本を学ぶ

こんにちは、かつコーチです。Webサイトから情報を自動で取得したいけれど、何から手をつけていいか分からない。そんな方に向けて、この記事ではrequests(PythonからWebサイトにアクセスするための代表的なライブラリ)の基本的な使い方...
Python

【Python】フォルダ内のファイルを自動で整理するスクリプトを作る

こんにちは、かつコーチです。ダウンロードフォルダの中が、画像・PDF・zipでぐちゃぐちゃになっていませんか。「手作業で仕分けるのは面倒だけど、いちいち探すのも大変」そんな悩みは、Pythonの標準ライブラリ(追加インストールなしで使える公...
Python

【Python】CSVファイルを一括処理する自動化スクリプトを書く

こんにちは、かつコーチです。「毎月、支店ごとの売上CSVを1つずつ開いて、Excelで合計を出している」そんな作業に、地味に時間を取られていませんか。この記事では、複数のCSVファイルをまとめて読み込み、集計まで自動で行うスクリプトの作り方...
Python

【Python】テストカバレッジを計測する方法(pytest-cov)

こんにちは、かつコーチです。テストを書き始めると、次に気になるのがこの疑問です。「自分のコード、どこまでテストできているんだろう?」感覚だけで「たぶん大丈夫」と判断してしまうと、テストしていない部分に潜むバグを見逃しがちです。この記事では、...
Python

【Python】モックを使ったテストの書き方(unittest.mock)

こんにちは、かつコーチです。外部APIを呼び出す処理のテストを書こうとして、こんな悩みに直面したことはありませんか。「テストのたびに本物のAPIを叩くと、料金がかかるし遅い」「ネットワークが切れているとテストが落ちる」この記事では、こうした...
Python

【Python】unittestとpytestの違い・使い分け

こんにちは、かつコーチです。Pythonでテストを書こうとすると、必ず出てくる疑問があります。「標準ライブラリのunittestと、外部ライブラリのpytest、どっちを使えばいいの?」ネット上のサンプルコードでも、両方の書き方が混在してい...
Python

【Python】pytestの基本:テストの書き方入門

こんにちは、かつコーチです。「関数を書いたら、動くかどうか毎回print()で確認している」そんな方は多いのではないでしょうか。print()での確認は手軽ですが、確認項目が増えるほど見落としが増えます。この記事では、Pythonで最も使わ...
Python

【Python】pathlibでファイルパスをモダンに扱う

こんにちは、かつコーチです。Pythonでファイルパスを扱うとき、os.pathモジュールを使っている方は多いと思います。ただ、Python 3.4以降では、より直感的に書けるpathlibという標準ライブラリが用意されています。pathl...
Python

【Python】reモジュールで正規表現を使う

こんにちは、かつコーチです。「メールアドレスの形式をチェックしたい」「文字列から特定のパターンだけ抜き出したい」。こうした処理をinやsplitだけで書こうとすると、コードが複雑になりがちです。そこで役立つのが正規表現です。正規表現とは、文...
Python

【Python】csvモジュールでCSVファイルを読み書きする

こんにちは、かつコーチです。業務の現場では、Excelから出力したCSVファイルを扱う機会がとても多いです。CSVとは「Comma-Separated Values」の略で、値をカンマ区切りで並べたシンプルなファイル形式です。Pythonに...
Python

【Python】jsonモジュールでJSONデータを読み書きする

こんにちは、かつコーチです。API連携や設定ファイルの管理をしていると、必ずと言っていいほど登場するのがJSONです。JSONとは「JavaScript Object Notation」の略で、データを構造化して表現するための軽量なフォーマ...
Python

【Python】osモジュールでファイル・ディレクトリを操作する

こんにちは、かつコーチです。「ファイルが存在するか確認したい」「フォルダの中身を一覧で取得したい」。Pythonでファイル操作をしていると、こういう場面によく出会います。そんなときに使うのがosモジュールです。osモジュールは、OS(Win...
Python

【Python】datetimeモジュールで日付・時刻を扱う

こんにちは、かつコーチです。「今日の日付を取得したい」「日付の文字列を、扱いやすい形式に変換したい」そんなとき、Pythonでは標準ライブラリのdatetimeモジュールを使います。「datetime.now()とdate.today()は...
Python

【Python】型ヒント(Type Hints)の書き方入門

こんにちは、かつコーチです。チームで開発しているコードに、def greet(name: str) -> str:のような記述を見かけて、「これは何のためにあるのか」と気になったことはないでしょうか。「型ヒントを書いても、実行結果は変わらな...
Python

【Python】コンテキストマネージャ(with文)の仕組みと自作方法

こんにちは、かつコーチです。with open("file.txt") as f:というコードは頻繁に書くものの、裏側の仕組みまでは説明できない、という方は少なくないと思います。「なぜwithを使うとファイルを閉じ忘れないのか」「自分でwi...
Python

【Python】ジェネレータとyieldの使い方

こんにちは、かつコーチです。大きなファイルを読み込む処理を書いていて、メモリを大量に消費してしまった経験はないでしょうか。「yieldってreturnと何が違うの」「ジェネレータを使うと何が嬉しいのか分からない」そう感じている方も多いと思い...