ファイルの文字コードを変換する
2612 views
この記事では「ファイルの文字コードの変換方法」について紹介します。
【できるようになること】
・テキストやCSVファイルの文字コードを変換
・テキストやCSVを読み込む際にファイルの文字コードを指定
ファイルの文字コードを変換/指定する場面
・ワークフロー内部で取得したファイルが文字化けしている場合
・ワークフロー内部で取得したファイルの文字コードを統一したい場合
ChangeFileEncoding
AUTOROのChangeFileEncoding(ファイルの文字コードを変換)アクションを利用すると、あるファイル型のアウトプットに設定されている文字コードを、別の文字コードに変換することができます。
利用できる文字コードの一覧
ChangeFileEncodingでは、以下の文字コードに対応しています。
読み込みに対応している文字コード
UTF8, UTF16, UTF16-LE, UTF16-BE, UTF7, UTF7-IMAP, UCS2, ASCII, Binary, Base64, HEX, CP932, CP936, CP949, CP950, GB2312, GBK, GB18030, Big5, Shift_JIS, EUC-JP
変換に対応している文字コード
UTF8, UTF8 (BOM有り), UTF16, UTF16 (BOM有り), UTF16-LE, UTF16-BE, UTF7, UTF7 (BOM有り), UTF7-IMAP, UCS2, ASCII, Binary, Base64, HEX, CP932, CP936, CP949, CP950, GB2312, GBK, GB18030, Big5, Shift_JIS, EUC-JP
ワークフローの設定例
ここでは変換例として、ダウンロードしたCSVファイルの文字コード(UTF8)を、Shift_JISに変換してみます。
CSVファイルをダウンロードする部分をコピペで作成します。
※このページからサンプルCSVをダウンロードしています。
- 以下コードをエディタモードから貼り付けます。
# ブラウザを開く +open_browser_1: action>: OpenBrowser url: 'https://support.autoro.io/docs/guide/%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%83%87%e3%83%bc%e3%82%bf/%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%ae%e4%bf%9d%e5%ad%98/' lang: 'ja-JP' timeZone: 'Asia/Tokyo' headless: true windowSize: '1920 x 1080' useShadowDomSelector: false private: false # クリック +click_1: action>: Click browser: +open_browser_1 selector: '#AUTORO' confirm: true ignoreError: true timeout: 5000 waitForDownload: false private: false # ダウンロードファイル一覧 +get_download_files_1: action>: GetDownloadFiles order: DESC sort_by: CREATED private: false
ファイルの文字コードを変換します。
・save_as(変換後のファイル名)パラメータに何も入力しない場合、変換後のファイル名は「ファイル名_文字コード.拡張子」になります。
・変換後のファイル名を指定する場合は、変換前のファイル名とは別のファイル名をご指定ください。
- ChangeFileEncodingを設定します。
- filename(ファイル名)パラメータに、GetDownloadFilesのアウトプットを指定します。
※変換対象ファイルに設定されている元の文字コードは、自動で判定されます。
・save_as(変換後のファイル名)パラメータに何も入力しない場合、変換後のファイル名は「ファイル名_文字コード.拡張子」になります。
・変換後のファイル名を指定する場合は、変換前のファイル名とは別のファイル名をご指定ください。
変換されたCSVファイルをReadCSVアクションで読み込みます。
差を確認するため、変換前のCSVも読み込みます。
- ワークフロー下部にReadCSVを2つ追加します。
- それぞれのfilenameパラメータに、ChangeFileEncodingとGetDownloadFilesを指定します。
文字コード変換の対象となるファイルに設定されている文字コードは自動で判定されますが、任意のコードを指定することも可能です。
方法は以下です。
- ChangeFileEncodingの詳細設定を開きます。
- 元の文字コード(original_encoding)に任意の文字コードを指定します。
# ブラウザを開く +open_browser_1: action>: OpenBrowser url: 'https://support.autoro.io/docs/guide/%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%83%87%e3%83%bc%e3%82%bf/%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%ae%e4%bf%9d%e5%ad%98/' lang: 'ja-JP' timeZone: 'Asia/Tokyo' headless: true windowSize: '1920 x 1080' useShadowDomSelector: false private: false # クリック +click_1: action>: Click browser: +open_browser_1 selector: '#AUTORO' confirm: true ignoreError: true timeout: 30000 waitForDownload: true private: false # ダウンロードファイル一覧 +get_download_files_1: action>: GetDownloadFiles order: DESC sort_by: CREATED private: false # ファイルの文字コードを変換 +change_file_encoding_1: action>: ChangeFileEncoding filename: +get_download_files_1 save_as: '' target_encoding: Shift_JIS original_encoding: 'auto-detect' private: false # CSVを読み込む(文字コードが変換されたものを読み込みます) +read_c_s_v_1: action>: ReadCSV filename: +change_file_encoding_1 headers: true private: false # CSVを読み込む(変換前のファイルをShift_JISで読み込み 1行目が文字化けします) +read_c_s_v_2: action>: ReadCSV filename: +get_download_files_1 headers: true private: false
ファイル読み込み時の文字コードを指定する
ReadTextとReadCSVアクションでは、ファイル読み込み時に使用する文字コードを任意に指定することが可能です。
読み込むファイルの文字コードがあらかじめわかっている場合に効果を発揮できます。(先に紹介した文字コードの変換後など)
ReadText, ReadCSVで指定可能な文字コード
utf8, ucs2 / utf16-le, ascii, binary, base64, hex, utf16, utf16-be, utf-7, utf-7-imap, CP932, CP936, CP949, CP950, GB2312, GBK, GB18030, Big5, Shift_JIS, EUC-JP
【文字コード】ChangeFileEncoding
このページは役に立ちましたか?
サイトを見て解決しない場合はAUTOROにログインし、チャットよりお問い合わせください。