仕事で非効率な作業をしていると感じることが多々あります。
(むしろそればかりです)
例えば毎回同じ作業の繰り返し。
・CSVから特定のデータを抜いてきて別のExcelやテキストに起こす
・apatch等のログのエラー確認
・社内のWebサイトから必要な情報を確認してテキストに起こす
等々上げるときりがありません。
このような作業を無くすためにスクリプトがあると思うのです。
皆さんどのような対策をしていますか?
そのスキルを習得するための方法は何ですか?
最近書店によくある
退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング
を見てPythonって素敵だなって思いました。
実際本は買ってませんがPythonを触ってみるとソースもきれいで書きやすい気がして
本格的なプログラマーでなくてもできる気がします。
何かお勧めの方法があれば教えてください。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答10件
0
ベストアンサー
その問題意識はすばらしいと思います。そして、文法が平易で汎用性に富むpythonはとても良い選択肢だと思います。
まずは卑近な課題解決から挑戦してみればいいと思います。
例えばcsv⇔xlsxの一括変換みたいな作業は比較的簡単に挑戦できる課題でしょう。
習うより慣れろで、とにかくやってみればいい。
マニュアルや教則本ばかりいつまでも読んで人がいる様ですが、英和辞典を端から端まで読んでも英会話が出来るようになる筈がないように、マニュアルや教則本ばかり読んでいても始まりません。
投稿2017/12/22 18:50
総合スコア13671
0
おそらく、
このような作業を無くすためにスクリプトがあると思うのです。
皆さんどのような対策をしていますか?
そのスキルを習得するための方法は何ですか?
と問題を抱えていて、解決しようとするために、
何かお勧めの方法があれば教えてください。
となっていると思います。
どうするかですが、KojiDoiさんも答えていらっしゃいますが、ひたすら書いて動かすです。「習うより慣れろ」で、ひたすら実践することが何よりも身につく近道だと思います。
ただ漠然と書籍やネットの情報を眺めて理論だけを見るよりは、実際に書いて動かした方が自分なりの理解もできますし、ただ読むよりも断然身に付きます。
また、具体的な問題に直面しているので、
・問題があるから解決したい。 ↓ ・そのためにどうするか ```というのが、直感的(と言うか具体的)に見えてくるので、学習するにしてもモチベーションが保てると思います。たとえわからないことが出てきても、自分の問題解決に直結しているので、問題をより具体化できて、解決策を探したり、ここのようなサイトでも質問がしやすくなると思います。
投稿2017/12/22 19:13
総合スコア1557
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
それぞれの作業によってやり方が違うと思いますが、基本的にはコンソールとExcelで作業しましょう。
コンソールの作業はコマンドのログをとっておきます。EXCELの作業はVBAに置き換えることができます。
日々作業を記録して、改善を続ければ自動化はそれほど面倒ではありません。
Pythonも悪くない方法だと思いますが、日々作業をスクリプト化するには上記の作業がある程度慣れてからの方をお勧めします。
というのも、効率化が目的のわりに手の混んだ万能のソフトウェアになっている例をいくつも知っているからです。この手のツールは必要になってから改善した方が費用対効果が良いという経験則です。
投稿2017/12/24 05:22
総合スコア2883
0
業務効率化を行うには
1,業務分析
2,要件の整理
3,システム設計
4,コーディング
といった段階を踏む必要があります。
そのうち、非エンジニアが自身の業務として意味を持つのは、1,2です。
3,4はエンジニアが担当しなければ、効率的ではないですし、業務としては無駄です。
システム制作を今後の目標とするのであれば別ですが、そうでないのであれば
・1,2を自身で効率よく進められるスキルを身につける
・それを稟議にかけ、通すための調整ができるようになる
といった方向が、非エンジニアの業務効率化に対しての正しい姿勢だと思います。
趣味でプログラミングを学ぶことは否定しませんが、それを業務に活かそうとすると、かなり「効率的ではない」ことをしなければならないですし、おおよそ無駄な時間を過ごすことになります。
目的と手段を取り違ってしまう、よくあるパターンだと思うので、ちゃんと考えてみてください。
投稿2017/12/22 22:24
退会済みユーザー
総合スコア0
0
自動化の実装自体は比較的容易なので、
プログラミング入門に向いているジャンルだと思います。
しかし、設計と運用には独特のノウハウがあるでしょう。
そもそも、なにをどれだけ自動化するかには正解がありません。
そこで、プログラムを書く前の業務分析が一番重要だったりします。
「このデータを調べる作業と、こっちは同じことしてるよね」といったことで、
場合によっては、プログラムを一行も書かなくても効率化できたりします。
また、一万行で一本のプログラムではなく、百行で百本のプログラム、
とバラバラに作る必要があるかもしれません。自動化対象の業務に変更がつきものなので。
そういうプログラムの作り方には「UNIX哲学」の考え方が有効だと思います。
なるべくGUIとDBを避けて、シェルスクリプトを使おう、みたいな話です。
GUIとDBを避けるには、ExcelのVBAのようなソフトのマクロ言語を使う方法がひとつ。
それから、PythonやRubyのようなLLと、WindowsならPowerShellを使う場合、
キーボードの入力を少なくするために、設定ファイルを読み取ることが多いと思います。
このとき、(内部)DSLをうまく使うと、記述量が大幅に減ることがあります。
要するに、RubyならRubyの文法を簡略化して、設定ファイルを書いてしまう方法です。
そして自動化は、アジャイルの手法と相性が良いでしょう。
たんなる書きっぱなしではなく、リファクタリングしたり、テストを書いたり、
ライブラリ化したりと、開発を反復して深化させていきます。
最後に、自動化は習うより慣れろが有効です。入門書を一冊読んだ後は、
手動が入る半自動化でもいいので、できるところから始めるといいと思います。
投稿2017/12/24 11:33
総合スコア5592
0
pythonもいいですが、mysqlの知識を身につけるのもいいかと思います。csvをmysqlに流すことができれば、SQLで参照したときもすっきり整理できますし、ソートもできます。
apacheのログもphpやpythonなどのスクリプト言語を使えば、web画面に出すという運用も可能ですし、excelを多用する職場であれば、phpexcelというモジュールもあるので、それでweb運用してもいいかと思います。
pythonはインデントがキチンと書かれていないと動かないので、慣れないうちはイライラすることもあるかもしれませんが、可読性の高いコードになりますので、選択としてはいいと思います。
投稿2017/12/24 08:04
総合スコア1161
0
Microsoft Office Execlのマクロ言語もVB様式からPython様式へは?とのアンケートが始まりました。
How can we improve Excel for Windows (Desktop Application)?
よって、言語の選択からすれば正解かと思います。
ただし、Excelを使って業務をしていれば、Excel VBA でマクロを作る事をお勧めします。
まったく投資がいりませんし、とても簡単なプログラミング言語かと思います。
質問にあった自動化したいと思っている内容ですが、
・CSVから特定のデータを抜いてきて別のExcelやテキストに起こす
・apatch等のログのエラー確認
・社内のWebサイトから必要な情報を確認してテキストに起こす
これらは、内容によりますが、おそらくExcelだけで自動化できます。
Excel VBAの習得は、有料のセミナーを受けるより1冊くらい書籍を買った方が良いと思います。
しかし、Excel VBAの書籍は、沢山ありすぎて、選ぶことも難しいのが実態です。
自分の意見としては、著作者で選ぶと良いと思います。
本を書く人は、大概自分のホームページを持っているものです。
ホームページから、書籍を選択するのも一考です。
でも、正直、ほとんど役に立たない内容です。先ずは、やってみる!書いてみる!動かしてみる!です。
投稿2017/12/24 01:33
総合スコア344
0
Pythonからは外れますが、今から事務作業自動化を検討されるなら「RPA(ロボティック・プロセス・オートメーション)」がキーワードです。
昔は個別にプログラムを作るので、どうしても誰が開発保守するのかとか、内部統制とかが中にういてしまいます。最近は実用レベルでプログラムを自動生成できるようになってきており、RPAソリューションが発売されています。
投稿2017/12/23 02:41
総合スコア472
0
言語はPythonではなくてもなんでも同じようなもんですよ。
というかPythonは数年前まではマイナーだったはずだけど機械学習などでよく使われてたので最近はメジャーになった。
その本書いた人もそっち方面からなので…。
Pythonが得意だからPython使っただけでテキストの処理くらいならどの言語でも大体同じです。
投稿2017/12/23 01:05
総合スコア10377
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/24 13:16