下記のように、既に改行された文字列があり、
a.txt one two three
b.txtのように[]のような区切り文字をつけたいと思っています。
b.txt [one] [two] [three]
データの前処理に使う予定です。
お教えいただけると大変、助かります。
何卒、よろしくお願いいたします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
ベストアンサー
python
1with open('a.txt') as fin, open('b.txt', 'w') as fout: 2 for line in ('[%s]' % s for s in map(str.strip, fin) if s): 3 print(line, file=fout)
投稿2018/06/26 13:15
総合スコア6142
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/26 13:16
2018/06/26 13:19
退会済みユーザー
2018/06/26 13:25
2018/06/26 13:26
2018/06/26 13:28
2018/06/26 13:30
0
python
1in_filename = "a.txt" 2out_filename = "b.txt" 3with open(in_filename, 'r') as in_file, open(out_filename, 'w') as out_file: 4 for line in in_file: 5 out_file.write("[" + line.rstrip("\n") + "]\n")
参考情報
- “with” statement in Python to Open a file
http://cmdlinetips.com/2016/01/opening-a-file-in-python-using-with-statement/
...
Here is an example of using with statement in Python to open one file for reading and another file for writing.with open(in_filename) as in_file, open(out_filename, 'w') as out_file:
for line in in_file:
...
...
out_file.write(parsed_line)
...
投稿2018/06/26 15:23
総合スコア22324
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/08/24 05:35
0
これができると何が幸せなのか、理解しかねますが・・・
python
1lst = [] 2with open("a.txt", "r") as f: 3 for line in f.readlines(): # 1行ずつ処理 4 if line != "\n": # 空の行は無視してみる 5 lst.append(line) 6 7with open("b.txt", "w") as f: 8 for line in lst: 9 f.write("[{}]\n".format(line.strip())) # 1行ずつ書き込んでいく。stripは改行文字を消すため
投稿2018/06/26 13:01
総合スコア30933
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/06/26 13:24
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。