0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Workato:文字コード(エンコーディング)が壊れたファイルをWorkatoで扱うには

Posted at

はじめに

Workatoでは、文字コード(エンコーディング)を自動的に判別して適切な結果で出力される、あるいはformulaモードに切り替えてas_stringメソッドを利用し適切な文字コードを選択することにより適切な結果で出力されます。

しかし、何らかの理由で文字コードが壊れているファイルの場合、文字化けしてしまう場合があります。また、formulaモードに切り替えてas_stringメソッドで正しい文字コードを指定しても文字化けしてしまう場合があります。

このような場合は、次に示す手順のようにPythonコネクタを利用して文字コードを指定し、デコードすることで、文字化けせずに結果を出力することが可能です。

手順

Boxからテキストファイルをダウンロードし、指定された文字コードでデコードするレシピを例として説明を進めていきます。

image.png

Step3にPythonコネクタを追加し、次のように設定を進めます。

Input fields

valueencoding の2つの文字列型のフィールドをセットします。

valueにはBoxのFile contentsをセットします。なお、File contentsはInputStream型でありそのまま扱うことが出来ないため、文字列型へキャストを行います(.to_sメソッドを追加します)。また、現状をそのままコードに渡せるようBase64エンコードを行います(.encode_base64メソッドを追加します)。

image.png

Output fields

value という文字列型のフィールドをセットします。

image.png

Code

次のコードを入力します。

import base64

def main(input):
    value =  base64.b64decode(input['value']).decode(input['encoding'], 'strict')

    return {
        'value': value
    }

結果の確認

このレシピを実行すると、3ステップ目でデコード後の結果を確認することができます。

image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?