見出し画像

Python と Excel と SQLite3 #01

Pythonはとても便利で役に立ちます

これから述べる内容の結論は、上のとおりです。しかし、わたしは最近までは、このように考えていませんでした。そこで、最初に「いままでの考え」を述べます。

まわりに流れてくる情報を見ていると、「Python はとても便利だ」という意見がとても多いです。しかし、「では、実際にはどのような場面で便利なんだろうか」と考えると、なかなかピンときませんでした。

子どもたちに対して Pythonは有効か

その理由は、自分自身が「教育の場」にいることが、大きな原因だと思います。教育の場においては、もちろんプログラミングは重要です。しかし、Pythonは、スクラッチやビスケット、マイクロビットなどの「子どもでもどんどん参加できるプログラミング言語」ではありません。インストールしてから実際に使えるようになるまで、けっこう手順が必要です。使えるようになったとしても、「多くの子どもが興味を持つようなもの」をすぐに提供することは、難しいと思います。


教務的な仕事に対して Python は有効か

一方、子どもに対する教育を離れて、いわゆる事務的な作業、(成績をつけたり、出席を管理したり、さまざまなデータを操作したりするような作業)を考えると、やはり、データ処理の主流は、Excel のような表計算ソフトと、=sum() や =rank() などの「関数」、そして、大規模でない VBA のマクロプログラムあたりが主流で、あまり Python の出番はないように感じていました。

とくに、Excel を用いたデータ処理については、「本質的に困難な部分」があって、「関数」も「VBAによるプログラム」も、あまり大規模にすることができません。

この「本質的に困難な部分」とは、ほかならぬ先生方のヒューマンエラーが原因です。つまり、「先生と呼ばれる人たちは、自分たちで勝手に(よくわからないのに)、エクセルの表などを追加したり削除したり、一部を「ななめ」にズラしたりして、計算式等を壊してしまう」傾向があります。

したがって、あまり大規模なシステムを作ってしまうと、このような先生方のちょっとしたミスが原因で、「どこに、どんなミスがあるのかわからないような不具合」が生じる可能性があります。「すいません。このエクセル表が動かなくなっちゃったんですけど」と言って持ってくるものは、多くの場合、このような状態です。(いわゆるバグ取りの作業を行うことになりますが、「こんな、ぐちゃぐちゃのファイルは見たくない」という場合が、ほとんどです)


そもそも Python は、どんなことができるのか

これもインターネット等で大量に流れてくる情報の「受け売り」ですが、たとえば、「機械学習ができます」とか、「統計的な処理やグラフ化が簡単にできます」とか、「デスクトップアプリケーションをつくることもできます」とか、「インターネットに公開するホームページを作成することができます」とか、いろいろなことが言われています。


Python でなくても、いいじゃない?

でも、それらのことについて、「わたしのような、学校の先生が、Python を学んで、実際に、すごく役に立ったなあと思えるような仕事が、はたしてできるのだろうか」という疑問を持っていました。

Python は、たしかにいろいろ便利なことがある。
だけど、Python でなくても、それはできるじゃないか。

という疑問です。

「いろいろなことをやってみて、なにか、ものすごく便利な部分が見つけられないだろうか」と考えていて、試行錯誤を繰り返しました。そして、やっぱり Python はものすごく便利だったという結論に至りました。それをこれから書いていこうと思っています。


プログラミングの実際も書きますので御容赦を

ただ、書くにあたって、実際にプログラミングを行うとしたら、こういうふうになるというノウハウ的な部分も書きます。したがって、コンピュータが苦手な人にとっては、チンプンカンプンな部分も多数あると思います。私個人の意見としては、「外部から評論するだけで、実際に自分自身が作業をしないのでは、本質的な理解にはつながらない」と考えているので、やはり、やるとしたら(そして書くとしたら)、泥臭い部分まできちんと書きたいと考えていますので、すいませんが、御容赦ください。

では、次回から、具体的なことを書きます。


この記事が気に入ったらサポートをしてみませんか?