ファイルの一部のデータをコピーして別のファイルに貼り付けたいファイルがあります。たとえば、ファイルに次のデータが含まれているとします。
AlphaforBravo007 102000000010170000000001 SusanaForCharlie 1000 end
上記のテキストから、それぞれ新しい行にコピーして新しいファイルに貼り付け102000000010170000000001
たいと思います。1000
ヒントをいただければ幸いです。
with open('file1.txt') as f1,open('file2.txt','w') as f2:
for line in f1:
x=line.split() #now x is ['AlphaforBravo007', '102000000010170000000001', 'SusanaForCharlie', '1000', 'end']
f2.write('\n'.join((x[1],x[3]))+'\n')
現在file2.txt
含まれているもの:
102000000010170000000001
1000
for line in file1:
a, b, c, d, e = line.split()
file2.write(' '.join((b, d)) + '\n')
ヒント:
split
)空白で区切られたテキスト ファイルから 2 番目と 4 番目の列のみを抽出する場合は、次を使用できます。
columns = operator.itemgetter(1, 3)
with open("input.txt") as input, open("output.txt", "w") as output:
for line in input:
output.write(" ".join(columns(line.split())) + "\n")
単純に数字をコピーして、テキストをファイルから別のファイルにコピーしたくない場合は、次のようなものを使用できます。
import re
with open('number.txt') as f1,open('number2.txt','w') as f2:
for line in f1:
lst=line.split()
for parts in lst:
if not re.search('[A-Za-z]', parts): # Look for any alphabetical character in parts
if lst[1] == parts:
f2.write(parts)
else:
f2.write('\n' + parts)
これは与える:
102000000010170000000001
1000