プログラミング初心者のおっさんが事務作業を(半)自動化できた話。
プログラミング初心者のおっさんが事務作業を半自動化できた話をします。
白衣の土方である理学療法士として業務をしている私ですが、
意外と事務作業が多いんですわ。
運動指導だけやってるわけじゃないのね。
事務作業の中で、3か月に1回ルーチンでやってる報告書作成作業(エクセルファイル)があるのね。
これがホントめんどくさい。つか、時間の無駄遣い感がすごかったの。
とある事業の調整役を私が担当しているんです。
その事業で人を派遣する調整をして、その仕事の一環で派遣リストをつくってるのね。
派遣リストには、派遣する日時、依頼元、派遣される担当者、場所、住所、実施内容、実施対象とかが記載されてるんす。
それをGoogleスプレッドシートで派遣される人たちにも共有してるんですわ。
んで、その報告を3か月に1回、100件は行かないけど、数十件分、上記の項目を報告書に転記して提出するんだよね。
これがチョー面倒。
Googleスプレッドシートみて、報告書に転記して、それとは別に内容に誤りがないか、派遣申し込み書って書類の内容と照らし合わせたりなんかして。
まったく生産性がなく、ただただ時間がかかる作業となっており、
正直「これって俺じゃなくてもできるよな、つか時間を無駄にしてる感じすげーな」って感じてました。
そんな折、こんな本を見つけまして。
退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング
- 作者: Al Sweigart,相川愛三
- 出版社/メーカー: オライリージャパン
- 発売日: 2017/06/03
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (6件) を見る
なるほど。Pythonってプログラミング言語を使えば、作業を自動化できるんだな、と(←単純)。
よし、やろう! となりまして、Pythonで作業を半自動化して今に至ります。
おわり。
といわず、ちょっと経過を書かせていただきますと、
まず、プログラミングで作業を自動化するのに必要なことを考えました。
そして、次の作業がおそらく必要だなということになりました。
① 報告書のエクセルファイルに転記するPythonのコードを探してくる
② ①のコードを自分の作業用に書き換える
③ ②を実現するためには、派遣リストをGoogleスプレッドシートから.xlsxに変換する必要がありそう
④ ②を実現するため、派遣リストと報告書の記載項目を合わせる必要もありそう
⑤ 報告書に派遣リストの不要な項目も転記されそうだから、それら項目を削除する
みたいな。
①は注文製品リストから請求書、納品書を作成するコードを見つけたので、
そのコードを改変してみようと。
②については、私はプログラミング初心者、ましてやPythonのコードなんて書いたこともないので、ググりながらコードの意味を理解して、変数名を置き換えたり、不要なコードを削除したりしてみました。そしたら、できた(笑)
③は、すぐにできた。
④は、既存の派遣リスト項目の並び順序とか内容を報告書に倣って整理しました。報告書には記載する必要がないけど、派遣リストには記録しておきたい項目なんかもあったので、それらは残しておきました。
⑤が問題で、④で派遣リストには記載があるけど、報告書には不要な項目が2つあったのね。たとえば、派遣リストにはA~Gの7項目の記載があるけど、報告書にはA,C,D,F,Gの5項目しか要らないって感じ。
どちらの項目も内容と並び順序が完全一致していたら②で改変したコードでそのまま転記して作業完了! ってなるところだったんですが……
まあ、とりあえず③、④を踏まえて②で書き換えたコードはできまして、作業の半自動化はできました。あとは手動で報告書中のエクセルの2列を削除すればいいだけ。
でも、それは悔しいので、なんとか全自動化させたいね。
さっき調べたら、pandas関数のdrop使えば、全自動化に一歩近づけそうな感じがしました。
そんな感じです。
コードいじってて感じたこととしては、2つあります。
● プログラミングを覚えるなら、なんか目的ないと俺の場合ムリ。
● コード書けるようになるには、写経しまくらなきゃ俺の場合ムリ。
ヒマをみて、少しずつ勉強を続けてみます。
あとは、
PythonとRって統計解析にはどっちが有利なの? ってのを調べた話とか、
Pythonの勉強してるとか、何の本読んだとか、どこのサイトで勉強してるとか、
Excelの関数エラー見つけるのとPythonのコードのエラー見つけるのとかめっちゃテンションがあがることとか、って話は今度する。
覚えてたら、というか気分がのったら。
たぶん、のらないな(笑)