-2

ファイルの一部のデータをコピーして別のファイルに貼り付けたいファイルがあります。たとえば、ファイルに次のデータが含まれているとします。

AlphaforBravo007 102000000010170000000001 SusanaForCharlie 1000 end

上記のテキストから、それぞれ新しい行にコピーして新しいファイルに貼り付け102000000010170000000001たいと思います。1000

ヒントをいただければ幸いです。

4

4 に答える 4

3
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
于 2012-06-29T13:13:02.953 に答える
1
for line in file1:
    a, b, c, d, e = line.split()
    file2.write(' '.join((b, d)) + '\n')

ヒント:

  • ファイルを読み込む方法を学ぶ (できれば行ごとに)
  • 基本的なテキスト処理 - さまざまな文字列メソッドを調べます ( split)
  • ファイルに書き出す方法を学ぶ
  • 問題を説明する練習をしてください - うまく説明できれば、半分は解決したことに気付くでしょう...
于 2012-06-29T13:09:29.257 に答える
1

空白で区切られたテキスト ファイルから 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")
于 2012-06-29T13:11:27.487 に答える
0

単純に数字をコピーして、テキストをファイルから別のファイルにコピーしたくない場合は、次のようなものを使用できます。

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
于 2012-06-29T13:56:58.900 に答える