Pythonは初心者でも始めやすく、簡単に実装しやすい特徴がある人気の言語です。うまく活用する事で時間のかかる作業を自動化(効率化)し、業務の効率化が見込めます。
しかし業務と言っても営業やマーケ、デザイナー等で作業内容は大きく異なる筈です。そこで本稿では、Pythonで実現できる業務効率化の一覧と簡単なやり方についてそれぞれ紹介していきます。なお、本サイトで作り方を具体的に解説している項目もあるので、興味を持ったプログラムについては是非各リンクの解説記事を読んでみてください!
SEO対策
サイト集客においてSEO対策は必須です。とはいえ、検索順位を決めるアルゴリズムで考慮される要素は200以上ある為、いちいち丁寧にやっていてはキリがありません。最近では競合分析や共起語の提案などをやってくれるソフトも出ていますが高額です。Pythonを使えば、全てとは言えませんがある程度の機能を自分で再現することが出来ます。
Googleトレンドのデータを取得する
新しく記事を作成する際「狙ったキーワードは普段検索されているのか?」「現在どのキーワードが注目されているのか?」をリサーチする為にGoogleトレンドが使われます。便利は便利ですが、グラフの出力が出来ない、複数キーワードの情報をまとめて取得出来ないなどあと一工夫あれば良いのに…と思うことありますよね。
- 注目のキーワード
- 関連するキーワード(共起語)
- キーワードの検索ボリューム
Pythonのライブラリ・pytrendsを利用すると、Googleトレンドからこうしたデータを取得することが出来ます。
【解説記事】
内部リンクと外部リンクの情報を取得する
SEO対策において「内部リンクと外部リンク」は重要です。
- 内部リンクを設定する事で、他の記事もGoogleに伝えられる
- 評価されているページから、新しいページに評価を渡せる
- リンクで他のページに誘導すると、ページが見やすくなる
こうしたメリットがありますが、URLの変更や外部サイトの閉鎖によって、今まで貼っていたURLから移動しても存在しないページに飛ばされる事になります。勿論リンクエラーはSEOにとってもあまり良くありません。
ページ数が増えるとその管理も大変になりますが、Pythonを利用すれば一発で各リンクの状態を視覚化することが出来ます。
【解説記事】
競合サイトのメタ情報を分析する
Googleは24時間世界中のWebサイトをクローリングし、評価を行っています。
クロールを行う際、メタ情報と呼ばれる物も評価の対象としていますが、そのメタ情報の設定もSEOでとても重要な役割を持ちます。
ライブラリのrequestsとBeautifulSoupを利用すると下記のデータを取得できます。
- メタ情報
- 見出しタグ
- strongタグ
競合サイトのメタ情報を手動で分析する場合、早くても1ページ10分掛かり、Chromeの検証ツールを利用する必要があります。しかしPythonを利用すれば数ページ数分で取得できるので、競合サイトの分析におすすめです。
なお、requestsはこの後も度々登場します。便利なライブラリなので是非使い方を覚えておきましょう。
【解説記事】
Google検索結果の取得
狙ったキーワードでGoogle検索上に表示させるには、キーワードと検索意図の整合性が必要です。
ライブラリのseleniumを利用すると、他サイトの情報を取得できます。
- 競合サイトの比較
- 上位表示されているサイトの特徴を把握できる
キーワードだけで記事を執筆しても、実際のニーズから離れてしまい正しく評価されない事もあります。
そのようなことが発生しないよう、指定したキーワードでGoogleの上位10件を取得するだけで執筆の方向性を確認できます。
【解説記事】
SNS運用
Webマーケティングと並行して行われるのがSNSマーケティングですが、主にTwitterでPythonを活用した運用効率化が可能です。
tweepyというライブラリを利用する事で下記のような操作が可能です。
- アカウントのフォロー
- タイムラインの取得
- 特定ユーザーの詳細を取得
それぞれ簡単に紹介します。
Twitterアカウントを自動フォロー
TwitterはAPIを発行しており、プログラムでフォローできます。特定のキーワードで検索を行っているユーザーのフォローも可能で、ある程度ユーザーセグメントを絞ることも出来ます。
このAPIとtweepyを使って、セグメントされたユーザーを自動でフォローするプログラムを作ることが出来ます。
【解説記事】
Twitterのタイムライン取得
特定のアカウントがつぶやくツイートを取得し、SNSの競合分析ができます。
プログラムで取得するとJSON形式で取得できるため、取得したい情報だけを取り出せます。
そのデータをExcelに書き込み、まとめる事も可能です。
【解説記事】
Twitterアカウントの分析
ユーザの登録日や自己紹介文なども取得できます。
影響力のあるアカウントがどのような自己紹介文を設定しているのか、フォローとフォロワー数なども取得可能です。
【解説記事】
事務・作業ファイル作成
Pythonで効率化出来るのはクリエイティブ領域だけではありません。定期的に作成するレポートからメールの送受信まで実に様々なシーンでPythonを活用することが出来ます。
Wordの操作
python-docxというライブラリを利用すると、以下のようなWordの操作ができます。
- ファイル作成
- テキストの取得
- フォントの変更
- フォントサイズの変更
- 画像の挿入
- 保存
毎月作成する内容のテンプレートがある場合はPythonによるWordの自動作成が出来ます。RPAのような業務効率化が実現します。
【解説記事】
Excelの操作
データの入力やレポートの作成に利用されるExcelですが、ExcelもPythonで操作が可能です。
基本的な操作はPythonライブラリのopenpyxlをインストールするだけで可能なので、毎月レポートを作成する際に利用できます。oprenpyxlでは
- シートの追加
- ファイルの保存
- シートの操作
- セルの操作
といったことが出来ます。
【解説記事】
Excelのグラフを作成
openpyxlではExcel内におけるグラフまで可能で、あらかじめ数値が用意されていれば自動作成でも見やすいビジュアル的に優れたExcelを作ることが出来ます。
python-docxと組み合わせる事で、8割程完成させたレポートを自動作成できます。
ExcelファイルをPDFに変換
上司やクライアント先に資料を提出する為、ExcelファイルをPDF化している方も多いかと思います。
一つのファイルを開く→PDF化→保存という作業は一見単純ですが、複数ファイルあった場合時間が掛かってしまいますよね。
ライブラリのpywin32を利用すれば、指定したフォルダ内のエクセルファイルを一括でPDF化できるので数分で完了します。また逆にPDF→Excelの変換も別ライブラリを使うことで実現出来ます。
【解説記事】
SUMなどの関数を作成
先ほど紹介したopenpyxlを利用すれば、SUMなどの関数を作成できます。
- 指定したファイルを自動で計算
- 平均値など他の関数も利用可能
レポートや資料を作成する際に関数は必須になるので、プログラムで実装する事で複雑な関数もすぐに設定出来ます。
メール送受信(Gmail)
ライブラリのimaplib、smtplibを利用すれば、なんとGmailを自動で送信することも出来ます。日報や週報など、頻繁にやらないといけない面倒な作業も自動化できます。
- テンプレートを準備すれば本文完成
- ファイルも送信可能
- CSVファイルから数値を取得できれば、売り上げなども書ける
メールの受信にも対応しているので、特定の送信元から来たメールをソートすることも可能です。
【解説記事】
メール送受信(Outlook)
ビジネスの面ではGmailを利用せずOutlookを利用する会社もあると思います。
ライブラリのwin32com.clientを利用するとOutlookを操作できるため、Gmailのようにアカウント設定を行う必要はありません。
- テンプレートを準備すれば本文完成
- ファイルも送信可能
- CSVファイルから数値を取得できれば、売り上げなども書ける
Outlookの自動化によってメール作業の時間を削減できます。
チャットツールで自動送信
最近はメールではなく「ChatWork」「slack」のようなメッセージツールを導入している企業も増えています。チャットツールを利用して日報や週報などの送信が可能です。
「ChatWork」「slack」どちらもライブラリのrequestsを利用した送信が可能です。
パスワードの総当たり解除
パスワード付きPDFファイルのパスワードを忘れてしまった際は、ライブラリのpikepdfを利用すればパターンの総当たり方式でパスワードの解析ができます。
- 取引先のパスワードが記載されたメールや書類を捨ててしまった
- パスワードが全く分からない
上記のような問題が発生しても、パスワードの総当たりで解除できます。
【解説記事】
画像などのコンテンツ処理
Pythonでは画像の処理も可能です。各種ライブラリを利用する事で画像解析、画像作成など様々な処理ができます。
画像処理
ライブラリ・Pillowを利用すると様々な画像処理をプログラムで実行できます。
- 画像の回転やトリミング
- 画像の情報を取得
- 画像の明度を変える
こうした作業に画像一枚ずつ取り組むとかなり時間がかかってしまいますが、Pythonで処理を行えば数分で処理が可能です。
【解説記事】
画像からアニメーションを作成
ライブラリのimageioを利用すると、画像からアニメーションgifファイルを作成できます。
imageioは単体であまり利用する場面はありませんが、機械学習においてはとても重要な役割を持ちます。AIに関する画像解析を検討している方は触ってみましょう。
【解説記事】
OCRで画像の文字を抽出
ライブラリ・PyocrとTesseractを利用すると、画像に表示されている文字を抽出できるプログラムを実装できます。TesseractはあのGoogleが開発しているソフトウェアです。
例えばレシートの文字や、明細書の文字を画像から抽出する事も出来ます。画像や対象物によって文字の精度はバラつきがありますが、一工夫すれば精度を高めることも可能です。
【解説記事】
データの分析
PythonはAIを作成する事に特化していますが、AIを作る際に欠かせないのがデータの分析です。
どのようなデータを扱えるのか見ていきましょう。
データ分析
データを抽出し、成形するにはライブラリ・pandasが必要になります。
- csvファイルで受け取ったデータを表に変換
- カラムを取得
- データの部分だけを取得
- データの追加
データ分析や機械学習する際には必須のライブラリとなるので、扱えるようにしておきましょう。
【解説記事】
求人サイトのスクレイピング
外部のサイトからデータを取得する際はrequestsとBeautifulSoupを使います。
- 外部サイトからデータを取得してくる
- 取得したデータを分析の為に利用
などをしたい時に有用です。スクレイピングも機械学習させるためのデータを集められるので、扱えるようにしておきましょう。
【解説記事】
仮想通貨の価格を取得
最近話題の仮想通貨ですが、Pythonを利用して価格を取得してくることもできます。
取得するには、ここでもrequestsを活用します。
- 仮想通貨の価格変動をリアルタイムで取得
- 価格予想のAIを作る為のデータを貯める
みたいなことが可能です。これから市場が成長する分野なので、気になる方は少し触ってみましょう。
【解説記事】
その他効率化・自動化
これまで業務効率化に関するプログラムを紹介してきましたが、他にもPythonでできる事をまとめてみました。
フォルダの作成、操作、削除
仕事でパソコンを利用しているとどうしてもフォルダの管理が大変になります。
モジュールのosを利用すれば、フォルダを簡単に操作することが可能です。
- フォルダの管理
- フォルダの削除や作成
といったことが出来ます。毎日フォルダを作成や削除を行っている方は、Pythonで自動化してみましょう。
【解説記事】
大量の空フォルダ作成
月や年ごとにフォルダを分け、何個もフォルダが存在すると毎回作成に時間が掛かってしまいます。
osとモジュールのcsvを活用する事で作成時間を短縮できます。
- あらかじめ作成したcsvファイル通りに複数フォルダを作成
- 深い階層のフォルダも作成出来る
毎回同じ作業で困っている方におすすめです。
【解説記事】
パソコン内の巨大なファイルを探す
パソコンを長期的に利用していると容量がひっ迫して、パソコンの動きが遅くなってしまいます。
中には利用してない大きな容量のファイルもあるはずです。手作業ではなく、Pythonで巨大ファイルを探す方法があります。
モジュールのpathlib、sysを活用して、
- 特定以上の大きさのファイルを特定
- 容量の大きさを確認
といったことが可能です。容量の空き確保を検討している方は一度Pythonで確認してみましょう。
【解説記事】
天気を取得し、報告
飲食店やイベント会社など、天候によって仕事が大きく変わる方もいると思います。ですがたまに天気予報を見忘れて、うっかりミスを無くすためにもPythonが活躍します。
例えば天気を取得し、取得した内容をメールやメッセージアプリで送信する事で確認忘れを減らせます。
- 天気を取得してチャットに通知
- 天気以外の情報も通知
メッセージアプリはホーム画面にも表示されるので、アプリを開かなくても確認できるメリットがあります。あまり実務で使うものではありませんが、Pythonはこんなことまで出来るんですね。
Pythonを使った業務効率化・自動化は幅広い!
いかがでしょうか。Pythonは機械学習やスクレイピングなどに注目が集まりがちですが、実に幅広い業務に関して効率化や自動化出来ることが分かったかと思います。本稿で分かったように、そのほとんどはライブラリやモジュールなどの“来合い”を使えば出来る簡単なもの。Pythonの基本的な部分さえ押さえておけばさほど時間はかかりません。
本サイトでは、非プログラマの方が業務に役立てられるPythonをマスター出来るよう、様々なプログラムを解説しています!気になった効率化があったら是非解説記事を読んでみて下さい。