毎回Numbersで書き出しをしてたけど地味に面倒なので、AppleScriptでアプリケーション作って自動化できました。
必要な方はどうぞ。構文そのまま載せてます。
※OSのバージョンによって使えるかわかりませんので各自確認してください。
ChatGPTに文字化けファイルを変換をお願いする経緯
最初に経緯だけ。
MacでCSVファイルを開く時に文字化けする時って結構ありますよね。エクセルで直接開けない、、、
特にWEBサイトからダウンロードするとありがちだったり。
- 変換する回数が多いとすごく面倒
- ルーティン作業だとなおさら
- 単純に書き出しだけですが方法がわからない
- 僕はプログラムは書けない
- ネットで調べてもNumbersものは記事が少なく断念
それでクラウドワークスでエンジニアの方にお願いしようと思い、依頼の文章を考えている時にふと「これChatGPTに依頼すればいいんじゃない?」と思いついたのがきっかけ。
出来上がるまで1時間半ほどChatGPTとやり取りしましたが、無事完成しました。
文字化けしないCSVを書き出すAppleScriptアプリケーションの作り方
それではAppleScript アプリケーションの作り方を順番に説明します。
AppleScript アプリケーションの作り方
アプリケーションフォルダ > ユーティリティの中にあります。
新しい書類作成。このような画面です。
下記がChatGPTが教えてくれた構文です。コピーしておきます。
on open fileList
repeat with fileAlias in fileList
set inputFilePath to POSIX path of fileAlias
set outputFilePath to text 1 thru -5 of inputFilePath & "sjis.csv"
do shell script "/usr/bin/iconv -f UTF-8 -t SHIFT-JIS " & quoted form of inputFilePath & " > " & quoted form of outputFilePath
end repeat
end open
コピーしておいた構文をペースト。
右上にある実行ボタンをクリックする。下記のようになればOK。
ファイルフォーマットは「アプリケーション」を選択する。
保存場所とファイル名はお任せします。
僕は今回の保存場所とファイル名は下記にしました。
- 保存場所:書類
- ファイル名:Convert_CSV_to_ShiftJIS
※今回の「Convert_CSV_to_ShiftJIS」はChatGPTが提案してくれました!
完成したアプリケーションはDockの追加したり、デスクトップにエイリアスを置いたりして各自使いやすいようにどうぞ。
テスト結果
テストをしてみましょう。
元のファイル「CSV変換テスト.csv」を Convert_CSV_to_ShiftJIS にドラッグアンドドロップすると、文字コードが変換された「CSV変換テストsjis.csv」が出来上がります。
元ファイルと同一階層に作成されます。
実際の動き
右クリック(コンテキストメニュー)から変換させる方法
ドラッグアンドドロップでアイコンに重ねる方法以外にも、右クリック(コンテキストメニュー)からアプリケーションを呼び出して変換させる方法もできます。
作業は簡単なので、必要な方は作っておいてもいいかも。
Dockがいっぱいだったり、エイリアスを置きたくない時に有効な方法です!
アプリケーションの中にあります。
書類の種類は「クイックアクション」を選択
「ファイルとフォルダ」→「Finder項目を開く」を選択して、右の部分にドラッグアンドドロップで移動する。
「このアプリケーションで開く」の部分を作った Convert_CSV_to_ShiftJIS にします。
※一覧表示の下のほうに「その他」があるのでそこから選べます。
任意の名前をつけて保存します。今回は「CSV_to_ShiftJIS」にしています。
変換したいファイルを選択して「右クリック」。クイックアクションに「CSV_to_ShiftJIS」が表示されるので選択すると変換されます。
簡単にできるので、アクションを複数作っている時は便利な機能です。是非覚えておいてください。
Macで文字化けするCSVファイルをShift JISで書き出すAppleScriptの作り方まとめ
これはChatGPTが教えてくれなければ作れませんでした。でもコードの構文があればとても簡単な作業でアプリケーションが作れます。
使い所を考えればChatGPTの利用はとても有効です。
あとはChatGPTにする質問の仕方(プロンプトの書き方)も大切でした。
途中経過にはAutomatorを使った提案もしてくれたり、Pythonを使うやり方もありました。ターミナルで記述するとできますよとか。
今回の件でChatGPTの未来を体感できましたね!わからないことはネット検索ではなくてChatGPTなどのAIツールも併用したほうが今後はスムーズになるかもしれません。
あとAutomatorはこれからもっと使ってみたいなと思ってます。
他にもできることを探してみよう。
最後にChatGPTの実際の返答を載せておきますね。