業務自動化で使う言語
自動化を選ぶ前の整理
Section titled “自動化を選ぶ前の整理”自動化では、対象作業、実行場所、入力データ、失敗時の扱いを先に分けます。Python、Shell、PowerShellなどの言語選びはその後です。個人PCの補助作業と、チーム・本番環境で定期実行する処理では、権限、ログ、通知、変更管理に必要な水準が異なります。
最小の確認手順
Section titled “最小の確認手順”- 手作業の入力・出力・例外を短い手順として書き出す
- 読み取りだけの小さな処理で結果を照合する
- 実行時刻、使用する資格情報、ログ保存先、失敗通知を決める
- 書き込みや削除を伴う処理は、テストデータと復旧手順を用意してから有効にする
言語ページへ進む目安
Section titled “言語ページへ進む目安”- OS上の既存コマンドをつなぐなら Shell / PowerShell
- データ整形・API連携・テストを組み合わせるなら Python
- 既存業務製品内で完結するなら、その製品のスクリプト・ワークフロー機能
どの場合も、秘密情報をコードや共有ログに残さず、公式の実行環境・認証方式を確認してください。
PC上の作業、ファイル処理、API連携はPython、Linux運用はBash、配布するCLIはGoが候補です。
- Python
- Bash
- JavaScript
- Go
| 目的 | 見るポイント |
|---|---|
| 早く作る | 公式ドキュメント、サンプル、既存資産 |
| 長く保守する | 型、テスト、パッケージ管理、採用しやすさ |
| 学習する | 最初の成功体験、教材、開発環境 |
追加調査で押さえる実務ポイント
業務自動化で選ぶべき言語は、人気ではなく「どの画面・ファイル・API・OSを操作するか」で決まります。CSVやExcelの整形ならPython、Windows操作ならPowerShell、Web画面ならJavaScript、シェル処理ならBash、AutoCADならAutoLISPが候補です。最初に入力、実行場所、権限、失敗時の戻し方を決めてください。
条件から選ぶ
| 作業 | 候補 |
|---|---|
| CSV・Excel | Python |
| Windows管理 | PowerShell |
| Linux・サーバー | Bash |
| Web・Node.js | JavaScript |
| AutoCAD | AutoLISP |
| 高速CLI | Go / Rust |
| SQL集計 | SQL |
自動化の分類
ファイル処理、API、GUI操作、OS管理、業務製品内言語に分けます。GUI自動化は画面変更、解像度、フォーカス、MFAに弱いため、APIやCSV、CLIがある場合はそちらを優先します。
最小例
from pathlib import Path
for path in Path("input").glob("*.csv"):
print(path.name)
入力はCSVファイル、出力はファイル名一覧です。実際に変更する前にコピーとログを用意します。
言語より先に決めること
トリガー、入力、出力、件数、頻度、認証、エラー、再実行、監査、ロールバックを決めます。
比較
| 条件 | 言語 | ノーコード |
|---|---|---|
| 複雑な分岐 | 強い | 限界あり |
| 可視化 | 工夫必要 | 強い |
| バージョン管理 | 強い | 製品依存 |
| 非技術者運用 | 弱い | 強い |
| 大量処理 | 設計可能 | 上限確認 |
安全な導入
手作業を記録し、読み取り専用で試し、10件でテストし、差分を出してから書き込みます。冪等性、失敗通知、戻し方を確認します。
よくある失敗
二重実行、日付変換、先頭ゼロ消失、文字コード、API制限、認証期限、上書き、途中成功、エラー無視、属人化です。
参考リンク
- docs.python.org - Python公式
- learn.microsoft.com - PowerShell公式
- www.gnu.org - Bash公式
- nodejs.org - Node.js公式