テキストファイルの読み込み
この記事では、取得したテキストファイル(.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ファイルからテキストを抽出


