身近なことを全部、Pythonで自動化させたい

標題のとおりなんですが、はてなブログからこのサイトを立ち上げて、もう2年が経ちます。WEB周りの知識が全くなかったのでそれの習得や、ワードプレスでブログの構造を作る作業を今まで行ってきました。そして、「コンセプトを主軸に運営し続ける」という1番の壁が、やっと形になっていきそうな段階まできました。

ここまで2年もかかってしまったので、ちょっとここでブレイク。サイト立ち上げより一つ手前に遡り、「私がこのサイトを立ち上げた本来の目的」振り返ってみました。すると、本来このサイトを運営することは自分が叶えたい「一つの手段」だったということが再認識できました。

一方で世間では、プログラミング熱がグツグツ沸騰中です。そんな中、私より先を行く様々な方の知見に触れ、「Pythonなら、やりたいことが全て叶いそう」だと考えました。

そこで今回は、今やっとスタートアップに立てた「サイト運営」とはまた違う、もう一方向の道が「Pythonを学ぶこと」だという立ち位置から、Pythonでしたいこと・解決できそうなことを取り上げてみます。Web上で内職をしている方や委託業務を受ける個人事業主(フリーランス)の方、そして自営業で社内の情報管理を行いたい方には、プログラミングに適したWeb環境にも触れているので,環境づくりへの初期投資という点においてもこの記事が参考になると思います。ぜひご覧ください

仕組み作りに燃える管理人、ちひろ

「サイトの構造をオリジナルのものにしたい!」ということでcocoonを利用させていただき、収益化まで達成しています。2年も経つのに全然記事を書けていませんが、サムネイル作成やサーチコンソールでのエラーへの対応などにもササっと対応できるようになってきました。

この「転勤家族の暮らし研究」はブログサイトなので、我が家の暮らしを管理人の「ちひろ」がお届けするというコンセプトです。記事やサムネイルの作成なども委託せず、基本は自分1人で行える仕組みを作ってきました。

ただ、この仕組みにも限界があると感じました。なぜなら、今の仕組み作りは自分1人だけを防御するには有効だと思うからです。一方で,家族の生活を豊かにするための時間をもっと作れるような仕組みを作らないと、育児・仕事・我が家の健康が支えきれないと感じました。

こうした現状を踏まえて、私が解決したい身近なことを、次の章でお話しします。

Pythonで解決しそうなこと

  1. 当サイトのグーグル上位入賞に向けた情報収集あれこれ
  2. 受注業務のデータ抽出
  3. 確定申告のための収入・経費のリスト化と所得計算

おそらく、これらはExcelやスプレッドシートをPythonで使うことで叶います。

開発環境の種類はPythonだけではありません。ただ、現時点でオープンソース文化が最も盛んなのはPythonだと考えています。

スプレッドシートを自動化する環境構築ならすぐできそう

これは、あくまでも私がiPadを使っているからです。

現状、受注しているお仕事で使うデータは全てスプレッドシートで見ることができています。ですので、無料で使えるのでグーグルのGASで自動化しようと考えていました。ところがスプレッドシートでもPythonを使えることが分かりました。

こうして、iOSアプリの「Pythonista3」を使って始めようと思ったのでした。

PCの環境は、ワードプレスのバックアップにどのみち必要になるので,この前レジストリ復元が完了しなかったPCはすでに修理しました。修復ループから無事に再起動できたものの、Cドライブが壊れてしまいました。

Excelとスプレッドシートの自動化に必要な環境構築

以前、「Microsoft365®︎(旧Office365®︎)」を使用していたときのアカウントがあるので、Excelはいつでも始められるのですが…。今すぐ始めるなら、やっぱりiPadでスプレッドシートを自動化する方が現実的です。

買い切りでソフトを購入するよりも、クラウドのOne Driveとセットで契約した方が使いやすかったし、Excelを使うならやはりサブスクリプションの「Microsoft365®︎」かなと。ただしどうしても年契約になるため、Pythonのために今すぐ利用することは考えていません。

スプレッドシートの自動化にはAPI認証が必要

2020年11月現在、グーグルではAPIを使って自動化させることについて、1度のデータ処理にかかる時間制限を超えなければ無料で使用できます。

ここにグーグルの出典を貼りたかったのですが、グーグルの規約内容が度々見直されることから、ここでは紹介しないことにしました。

PythonでExcelを自動化するならxlwingsを

Pythonでできることは幅広くて、その中でもExcelを自動化することに特化したいなら「 xlwings」というライブラリーをインストールして使います。ただ、このライブラリーはWindowsOSかMacOSじゃないと使えません

法律やリテラシーの学習も同時進行

プログラミング熱が高まる現代に「便利だからって、何をしても良いというわけではない」というリテラシーの意識を持ちながら作った仕組みであるかどうかは重要です。用途が個人的であっても仕事に使うとしても、です。

知的財産権についても知っておく必要ある

紛争になってしまったときに適用される法律も知っておく必要があります。ざっくり言えば知的財産権を侵害した可能性がある場合に紛争が起こり得ると考えています。私のような個人事業主(フリーランス)の防御策としても考えておきたいです。

読んだ書籍3冊

情報収集と整理の自動化に必要なPC

せっかく調べたので、2020年11月現在に調べたPython使う人におすすめのPCを3つほどメモしておきます。取り上げたポイントは以下の通りです。

OS
Excel・Python・xlwingsを使うという点で、Windows OSもしくはMac OS

PCのメモリ・ストレージ
プログラミングに限らずだがメモリは8GB、ストレージは最低256GB

CPU性能
IntelならCore i5以上

インターフェース
USB3.0以上に対応しているもしくはそれに対応したハブが使える

今のiPadのストレージは256GBあります。なのでサイト運営のサムネイル・ライター業で扱うメモ・家族写真などを、クラウドで保存する前の一時保存が難なくできているのだと思います。一方で128GBだと、作業内容に限らず「作業しずらい」という話はよく聞きます。

iPad自体はめっちゃ前の3世代目あたりの「Pro9.7」なんですが(恥)。購入時に「ストレージ容量は256GBは無いと困りますよ」と言っていた、Docomoの店頭スタッフさんのアドバイスを聞いておいて良かったです。

Python本気でやるために購入の候補に上がったPC(2020年11月現在)

10年前のPCが、再起動後Cドライブ破損のため動かなくなったので,iPadが壊れたらこの中からPCを購入するつもりでいます。そのため、本気で選びました。

私自身がライターとして案件を受注しているので思いますが、Amazonの口コミを書いている人の用途がはっきりと分からないことと、ググってみて上位に出てきた記事で紹介しているおすすめ商品だとストレージが足りないな〜と感じたりしました。ですので、そこそこ高いと思う値段でも、1台を長く使って、生活に馴染むモデルを選んだつもりです。

Surface Book 3 +マウス(グレー) +ペン (プラチナ):3点セット

私の場合、ペンとマウスは絶対必要になるので、純正品があるならセットで買いたいです。

iPadで在宅ワークをしたり、PDFファイルでライターのマニュアルにメモをする時に,「ペンが欲しい…!」と何度思ったことか。PhotoshopやGimpなどの画像編集ソフトやアプリを利用する人には、タッチペンが使えるモバイル兼ノートPCはとても使いやすいと思います。

Apple MacBook Air(Apple M1 Chip搭載!)

まだ口コミもついていない、 Mac初の、Apple社製CPU「M1」搭載…。あ〜買いたかった!

Pythonistaの開発環境を引き継ぐことができるか

iOSからWindowsOSもしくはMacOSに引き継ぐ際に分からないのは、Pythonista専用のライブラリを引き継げるかどうかです。そこは、実際に進めてみないとなんとも言えません。ただ、現状で下調べしたことを書き留めておこうと思います。

個人的に、Linuxもいいな〜と思っていますが、将来は息子と同じ環境のPCを2台持ちたいので,ちょっと専門的すぎるかな?

iPadからWindows OSへ

まず、WindowsでPythonを使う場合は「PyCharm」という専用エディターを使用します。iPhoneやiPadに接続してPythonistaをリモート操作することもできるようですが、iPadで操作できなくなってしまった時に有効な手段かどうかは、今の私には分かりません。というか、PyCharmに移行できるのならその方が良いと思います。

iPadからMacOSへ

調べてみて分かったのですが、MacPCには初期状態でPythonがインストールされているとのこと!ただ少し前のバージョンだそうで、バージョンアップの簡単な手順を踏んで使うそうです。

iPadを買い替える時期には、Appleの「M1」Macを比較しているのか…🤤あ〜、楽しみ⭐︎

まとめ

Pythonをするのは、ほぼ決定。今後、プログラミング関連の記事が増えてきたらシリーズ化しますね(誰得)。

そういえば、大学の研究室がバイオサイエンス×情報系だったのだけれど、C言語とJava scriptの意味がわからず終わったなぁ…。タンパク質の構造が変わっていく様子や、パーツが外れていったり合成される様子をシミュレーションするのに1日かけてLinux環境で作業していたりしたっけ。してなかったっけ?

コメント(commen)

タイトルとURLをコピーしました