質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

10回答

367閲覧

業務効率化(自動化)

mats

総合スコア32

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

1グッド

5クリップ

投稿2017/12/22 17:35

仕事で非効率な作業をしていると感じることが多々あります。
(むしろそればかりです)

例えば毎回同じ作業の繰り返し。
・CSVから特定のデータを抜いてきて別のExcelやテキストに起こす
・apatch等のログのエラー確認
・社内のWebサイトから必要な情報を確認してテキストに起こす
等々上げるときりがありません。

このような作業を無くすためにスクリプトがあると思うのです。
皆さんどのような対策をしていますか?
そのスキルを習得するための方法は何ですか?

最近書店によくある
退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング
を見てPythonって素敵だなって思いました。
実際本は買ってませんがPythonを触ってみるとソースもきれいで書きやすい気がして
本格的なプログラマーでなくてもできる気がします。

何かお勧めの方法があれば教えてください。

LLman👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答10

0

ベストアンサー

その問題意識はすばらしいと思います。そして、文法が平易で汎用性に富むpythonはとても良い選択肢だと思います。
まずは卑近な課題解決から挑戦してみればいいと思います。
例えばcsv⇔xlsxの一括変換みたいな作業は比較的簡単に挑戦できる課題でしょう。

習うより慣れろで、とにかくやってみればいい。

マニュアルや教則本ばかりいつまでも読んで人がいる様ですが、英和辞典を端から端まで読んでも英会話が出来るようになる筈がないように、マニュアルや教則本ばかり読んでいても始まりません。

投稿2017/12/22 18:50

KojiDoi

総合スコア13671

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mats

2017/12/24 13:16

なるほど。 確かにマニュアルを熟読しても仕方ないですね。 直近の課題に習うより慣れろの精神で取り組んで行き詰ったらマニュアルなり 書籍なりWebなりで調べていこうと思います。 まずはPythonを使って簡単な内容から取り組んでみようと思いました。 アドバイスありがとうございました!
guest

0

おそらく、

このような作業を無くすためにスクリプトがあると思うのです。
皆さんどのような対策をしていますか?
そのスキルを習得するための方法は何ですか?

と問題を抱えていて、解決しようとするために、

何かお勧めの方法があれば教えてください。

となっていると思います。

どうするかですが、KojiDoiさんも答えていらっしゃいますが、ひたすら書いて動かすです。「習うより慣れろ」で、ひたすら実践することが何よりも身につく近道だと思います。
ただ漠然と書籍やネットの情報を眺めて理論だけを見るよりは、実際に書いて動かした方が自分なりの理解もできますし、ただ読むよりも断然身に付きます。
また、具体的な問題に直面しているので、

・問題があるから解決したい。 ↓ ・そのためにどうするか ```というのが、直感的(と言うか具体的)に見えてくるので、学習するにしてもモチベーションが保てると思います。たとえわからないことが出てきても、自分の問題解決に直結しているので、問題をより具体化できて、解決策を探したり、ここのようなサイトでも質問がしやすくなると思います。

投稿2017/12/22 19:13

archiver

総合スコア1557

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mats

2017/12/24 13:14

習うより慣れろですね! 多くの人から同じアドバイスを頂いているのでまずは 目先のことからやってみようと思います。
guest

0

それぞれの作業によってやり方が違うと思いますが、基本的にはコンソールとExcelで作業しましょう。

コンソールの作業はコマンドのログをとっておきます。EXCELの作業はVBAに置き換えることができます。
日々作業を記録して、改善を続ければ自動化はそれほど面倒ではありません。

Pythonも悪くない方法だと思いますが、日々作業をスクリプト化するには上記の作業がある程度慣れてからの方をお勧めします。

というのも、効率化が目的のわりに手の混んだ万能のソフトウェアになっている例をいくつも知っているからです。この手のツールは必要になってから改善した方が費用対効果が良いという経験則です。

投稿2017/12/24 05:22

iwamoto_takaaki

総合スコア2883

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mats

2017/12/24 13:04

確かに。効率化を目指したはずが返って非効率になってるってよくありますね(笑) VBAは昔少しやっていたのでExcel関連のものはまたVBAを使ってみようと思います。
guest

0

業務効率化を行うには
1,業務分析
2,要件の整理
3,システム設計
4,コーディング
といった段階を踏む必要があります。

そのうち、非エンジニアが自身の業務として意味を持つのは、1,2です。
3,4はエンジニアが担当しなければ、効率的ではないですし、業務としては無駄です。

システム制作を今後の目標とするのであれば別ですが、そうでないのであれば
・1,2を自身で効率よく進められるスキルを身につける
・それを稟議にかけ、通すための調整ができるようになる
といった方向が、非エンジニアの業務効率化に対しての正しい姿勢だと思います。

趣味でプログラミングを学ぶことは否定しませんが、それを業務に活かそうとすると、かなり「効率的ではない」ことをしなければならないですし、おおよそ無駄な時間を過ごすことになります。

目的と手段を取り違ってしまう、よくあるパターンだと思うので、ちゃんと考えてみてください。

投稿2017/12/22 22:24

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mats

2017/12/24 13:12

アドバイスありがとうございます! 目的と手段は常に考えないといけませんね。 ただ今行いたいのはプログラマが行うような大きなシステムではなく 数十行くらいのちょっとしたスクリプトで業務効率化を目指している次第です。
guest

0

自動化の実装自体は比較的容易なので、
プログラミング入門に向いているジャンルだと思います。
しかし、設計と運用には独特のノウハウがあるでしょう。

そもそも、なにをどれだけ自動化するかには正解がありません。
そこで、プログラムを書く前の業務分析が一番重要だったりします。

「このデータを調べる作業と、こっちは同じことしてるよね」といったことで、
場合によっては、プログラムを一行も書かなくても効率化できたりします。

また、一万行で一本のプログラムではなく、百行で百本のプログラム、
とバラバラに作る必要があるかもしれません。自動化対象の業務に変更がつきものなので。

そういうプログラムの作り方には「UNIX哲学」の考え方が有効だと思います。
なるべくGUIとDBを避けて、シェルスクリプトを使おう、みたいな話です。

GUIとDBを避けるには、ExcelのVBAのようなソフトのマクロ言語を使う方法がひとつ。

それから、PythonやRubyのようなLLと、WindowsならPowerShellを使う場合、
キーボードの入力を少なくするために、設定ファイルを読み取ることが多いと思います。

このとき、(内部)DSLをうまく使うと、記述量が大幅に減ることがあります。
要するに、RubyならRubyの文法を簡略化して、設定ファイルを書いてしまう方法です。

そして自動化は、アジャイルの手法と相性が良いでしょう。
たんなる書きっぱなしではなく、リファクタリングしたり、テストを書いたり、
ライブラリ化したりと、開発を反復して深化させていきます。

最後に、自動化は習うより慣れろが有効です。入門書を一冊読んだ後は、
手動が入る半自動化でもいいので、できるところから始めるといいと思います。

投稿2017/12/24 11:33

LLman

総合スコア5592

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mats

2017/12/24 12:59

ありがとうございます! UNIX哲学ですか。参考になります。 仕事は主にクラウドの設計構築なので何百行のプログラムを書く気はありません。 ファイルの入出力等が特に苦手なんですよね。。 ほかの方もアドバイスしてくれているように習うより慣れろで簡単なところから 実践してみようと思います!!
guest

0

pythonもいいですが、mysqlの知識を身につけるのもいいかと思います。csvをmysqlに流すことができれば、SQLで参照したときもすっきり整理できますし、ソートもできます。

apacheのログもphpやpythonなどのスクリプト言語を使えば、web画面に出すという運用も可能ですし、excelを多用する職場であれば、phpexcelというモジュールもあるので、それでweb運用してもいいかと思います。

 pythonはインデントがキチンと書かれていないと動かないので、慣れないうちはイライラすることもあるかもしれませんが、可読性の高いコードになりますので、選択としてはいいと思います。

投稿2017/12/24 08:04

imamoto_browser

総合スコア1161

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mats

2017/12/24 13:02

SQLですか。確かにcsvをmysqlに取り込む技術がつけば、幅がぐっと広がりそうですね! pythonはインデントがキチンと書かれてないと動かないところが、きれいなソースに見えて 魅力を感じています。 取り合えずPythonとmysqlの勉強をしてみようと思いました。ありがとうございました。
guest

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

kai_keitai

総合スコア344

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mats

2017/12/24 13:06

その記事見ました!Pythonをしっかり見たのもその記事きっかけです! VBAを推薦してくださる人が多いですね。昔少しやっていたので思い出しながら VBAもやってみようと思います。
guest

0

Pythonからは外れますが、今から事務作業自動化を検討されるなら「RPA(ロボティック・プロセス・オートメーション)」がキーワードです。

昔は個別にプログラムを作るので、どうしても誰が開発保守するのかとか、内部統制とかが中にういてしまいます。最近は実用レベルでプログラムを自動生成できるようになってきており、RPAソリューションが発売されています。

投稿2017/12/23 02:41

Kunihiro_Narita

総合スコア472

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mats

2017/12/24 13:10

RPA初めて知りました。なんか凄そうですね! 新しい分野にアンテナを張るのは大切なことですね。 規模の小さい会社なので導入は難しいかもしれませんが 今後も気にしていきたいです。ありがとうございました!
guest

0

言語はPythonではなくてもなんでも同じようなもんですよ。
というかPythonは数年前まではマイナーだったはずだけど機械学習などでよく使われてたので最近はメジャーになった。
その本書いた人もそっち方面からなので…。
Pythonが得意だからPython使っただけでテキストの処理くらいならどの言語でも大体同じです。

投稿2017/12/23 01:05

kawax

総合スコア10377

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mats

2017/12/24 13:11

確かに、言語はどれでもいいですね。 ただPythonコードがきれいで見やすいなーって思った次第です。 機械学習とかはプログラマではないのであまり興味はないです。
guest

0

USP友の会に入会して、シェル芸を極めれば、そんな悩みもスッキリ解決です。

投稿2017/12/22 22:12

hichon

総合スコア5737

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問