Automater:MacOSのもの
Python:Python 2.7.16
以下の内容を参考に、AutomaterでCSVを結合して出力する処理を進めています。
https://teratail.com/questions/m1ddarz4oxql31
その際、最後の f.write(merged_text.encode('utf-8'))がutf-8だと問題なく動くものの、 f.write(merged_text.encode('shift_jis'))とするとエラー文が出てしまいます。こちらと同内容をshift-jisで吐き出すにはどのようにすれば良いでしょうか?
また、もしできれば、同内容をtxtファイルではなくcsvで吐き出したく考えています。
コード
# coding=utf-8 import os import sys merged_text = "" for file in sys.argv[1:]: with open(file) as f: basename = os.path.basename(file).decode('utf-8') text1 = f.read().decode('cp932') array1 = [basename + ',' + x for x in text1.splitlines()] text2 = '\n'.join(array1) + '\n' merged_text += text2 merged_filename = "結合テキスト_sjis.txt" dirname = os.path.dirname(sys.argv[1]) with open(os.path.join(dirname, merged_filename), "w") as f: f.write(merged_text.encode('shift_jis'))
エラー文
アクション“シェルスクリプトを実行”でエラーが起きました: “Traceback (most recent call last): File "<string>", line 17, in <module> UnicodeEncodeError: 'shift_jis' codec can't encode character u'\uff0d' in position 6157: illegal multibyte sequence”
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/03/27 05:52