以下の質問を参考に、複数txtファイルのaaa.txtとbbb.txtを結合しようとしているのですが、その際どちらのファイルから取得したデータなのかがわかるように、1列目のカラムにファイル名を出力したいです。
https://teratail.com/questions/354025?fbclid=IwAR0amXFr26np97agaItD6-F8cBXsbe1lTY9A-GNRonbykDHDkys0SnAxg6w
例:aaa.txtとbbb.txtの結合結果で、結合結果.txtの結果を得たい
aaa.txt
id | 会社名 | 住所 |
---|---|---|
1 | 株式会社あああ | 東京都 |
bbb.txt
id | 会社名 | 住所 |
---|---|---|
2 | 株式会社いいい | 大阪府 |
結合結果.txt
ファイル名 | id | 会社名 | 住所 |
---|---|---|---|
aaa.txt | 1 | 株式会社あああ | 東京都 |
bbb.txt | 2 | 株式会社いいい | 大阪府 |
おそらく以下のシェルスクリプトになんらか追記をすることでできる気がしたのですが、コードがわからず、、お分かりになる方がいらっしゃればアドバイスいただけないでしょうか。(※ファイルがimportエラーを起こすためこちらのシェルスクリプトを実行しています)。シェルスクリプトから以外の実行方法でも構いません。
import os import sys merged_text = "" for file in sys.argv[1:]: with open(file) as f: merged_text += f.read().decode('cp932') merged_filename = "結合テキスト.txt" dirname = os.path.dirname(sys.argv[1]) with open(os.path.join(dirname, merged_filename), "w") as f: f.write(merged_text.encode('utf-8'))
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/03/25 13:20
退会済みユーザー
2022/03/25 13:41
2022/03/25 14:06
退会済みユーザー
2022/03/25 14:12
退会済みユーザー
2022/03/25 14:35
2022/03/25 14:54