テキストファイルの読み込み
この記事では、取得したテキストファイル(.txt)の中身を読み取る設定方法を紹介します。
【できるようになること】
- ReadTextアクションを使ってファイルの内容を読み込む
・ワークフロー上で、テキストファイルの中身をテキストとして利用することができます
・CSVファイルの中身をテキストとして取得することも可能です
ワークフローの設定例
下記手順にてワークフローを設定します。
- 最初にGetFileで今回利用するテキストファイルを取得します。
利用するファイル:https://drive.google.com/file/d/1PEf_KgT8_3Gs_pVyaDYNuYZkHPemJpEm/view?usp=sharing
テキストファイルから読み込んだ文字列が文字化けする場合は、「ReadText」アクションに読み込む文字コードを指定することができます。
- 「ReadText」アクション、中央下部の「詳細設定を開閉」をクリックします。
- 「ファイルの文字エンコーディング」パラメータに文字コードを設定します。
[代表的な文字コード]
utf-8(デフォルト設定)/Shift_JIS/utf16
サポートしている文字コード一覧https://docs.roboticcrowd.com/actions/text#readtext
# ファイルを取得 +get_file_1: action>: GetFile filename: 1PEf_KgT8_3Gs_pVyaDYNuYZkHPemJpEm provider: 'GoogleDriveのコネクションをご指定ください' meta: display: # ファイルからテキストを読み込む +read_text_1: action>: ReadText filename: +get_file_1 encoding: 'utf-8'
拡張子が.txtではないファイルからテキストを読み取る
拡張子が.txtではないファイルの中には、ReadTextアクションで読み取りが可能なものも存在します。
以下より、例を紹介します。
ReadTextアクションにcsvファイルを指定すると、中身がテキストとして出力されます。
RenameFileアクションによる拡張子変更は、任意となります。
- RenameFileを設定します。
- 「ファイル名を変更」に、prn等のファイル型アウトプットを指定します。
- 「新しいファイル名」を、「任意のファイル名.txt」とします。
- ReadTextを設定し、RenameFileのアウトプットを指定します。
.docxは実質的にzipファイルであるため、DecompressFileアクションなどを使用した形でのテキスト抽出が可能です。
もしdocxから文字のみを抽出する場合は、以下ワークフローをカスタムアクション化してご利用ください。
パラメータは、ストレージ系サービスのプロバイダIDとファイルID/ファイルパスとなります。
# ファイルを取得 +get_docx_1: action>: GetFile provider: ${providerId} filename: ${fileId} meta: display: null # ファイル名を変更 +rename_file_docxToZip: action>: RenameFile filename: +get_docx_1 save_as: 'hoge.zip' # ファイルを展開する +decompress_docx_1: action>: DecompressFile file: +rename_file_docxToZip # リスト内を検索 +search_item_from_list_docXML: action>: SearchItemFromList list: +decompress_docx_1 query: 'document.xml' # リストから要素を取得 +get_item_from_list_docXMLFile: action>: GetItemFromList list: +search_item_from_list_docXML index: '0' # ファイルの文字コードを変換 +change_file_encoding_utf8: action>: ChangeFileEncoding filename: +get_item_from_list_docXMLFile save_as: '' target_encoding: utf8 original_encoding: 'auto-detect' # ファイルからテキストを読み込む +read_docXML: action>: ReadText filename: +change_file_encoding_utf8 encoding: 'utf-8' # 変数に保存 +store_value_docXML: action>: StoreValue key: xml value: +read_docXML # スクリプトを実行 xmlタグを置換 +run_script_doxXML: action>: RunScript code: "return xml\n .replace(/<\\/w:r>/g, \"\\n\")\n .replace(/<(\".*?\"|'.*?'|[^'\"])*?>/g, \"\")\n .replace(\"\\n\", \"\"); //最初に1つ余計な改行が入るため置換\n"
なお、.docxからのテキストの抽出はアクションで可能ですが、.docファイルについては、上記のアクションでテキストを抽出することは不可能となります。.docファイルの場合は、ブラウザ系アクションで拡張子変更サービスを提供するWebサイトにアクセスし、ファイルをアップロードしてから拡張子変換後のファイルをダウンロードする必要があります。
ConvertPDFToTextアクションをご使用ください。
参考:PDFファイルからテキストを抽出