複数あるtxtファイルを結合したいです。
指定されたFinder項目を取得
テキストファイルを結合
新規テキストファイル
の順に並べているのですが、
アクション“テキストファイルを結合”でエラーが起きました: “テキストエンコーディング“Unicode(UTF-8)”でファイル“fr4総勘定元帳.txt”を開けませんでした。”
テキストエンコーディング“Unicode(UTF-8)”でファイル“fr4総勘定元帳.txt”を開けませんでした。 このファイルは、別のテキストエンコーディングで保存されているか、テキストファイルでない可能性があります。
というコメントがでてきてしまいます。どのように対処すれば良いかご教示いただけますでしょうか?どうぞよろしくお願い致します。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/14 02:18
回答2件
0
ベストアンサー
- 「指定されたFinder項目を取得」の後に「シェルスクリプトを実行」を配置します
- 「シェル:」で「/usr/bin/python」を選びます
- 「入力の引き渡し方法」で「引数として」を選びます
- コマンドウィンドウに以下のように入力します
python
1import os 2import sys 3 4merged_text = "" 5for file in sys.argv[1:]: 6 with open(file) as f: 7 merged_text += f.read().decode('cp932') 8 9merged_filename = "結合テキスト.txt" 10dirname = os.path.dirname(sys.argv[1]) 11with open(os.path.join(dirname, merged_filename), "w") as f: 12 f.write(merged_text.encode('utf-8'))
- 結合結果のファイル名は、ここでは「結合テキスト.txt」としていますが、変更可能です
- 結合結果ファイルの保存場所は、ここでは読み込み対象ファイルと同じディレクトリとしていますが、変更可能です
- 結合結果ファイルの文字エンコーディングは、ここでは「UTF-8」としていますが、読み込み対象ファイルと同じエンコーディングで保存することも可能です(結合結果ファイルをMacでしか使わないのならUTF-8でいいと思います。Windowsに戻して使うのなら元のファイルのエンコーディングに合わせておいたほうがいいかもしれません)
投稿2021/08/16 05:43
編集2021/08/16 05:48総合スコア1195
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/17 00:07
2021/08/17 10:41
2021/08/18 01:53
2021/08/18 11:32
2021/08/18 11:37
2021/08/18 23:16
0
「fr4総勘定元帳.txt」というファイル名から、元々Windowsで作成されたファイルではないかと想像したことからの思いつきなのですが、「新規テキストファイル」アクションのエンコーディングで、「日本語 (Shift JIS)」を選択して一度試してみてはいかがでしょうか。
投稿2021/08/13 14:27
総合スコア1195
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/14 02:16
2021/08/14 04:07
2021/08/14 05:39
2021/08/14 10:28
2021/08/15 02:36
2021/08/15 03:22
2021/08/15 09:51
2021/08/15 12:28
2021/08/15 23:50
2021/08/16 05:46
2021/08/16 10:45
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。