0

http://people.stern.nyu.edu/ja1517/data/marketing.dataにデータがあり、marketing.data.txt として保存しました。

NA を含む行を削除したい。6 行の Python スクリプトを作成しましたが、機能しません。

誰かが私の間違いを指摘できますか?

import re
f = open('marketing.data.txt')
g = open('marketing_complete.txt', 'w')
for line in f:
    if re.search('NA', line) is None:
        g.write(line)

コマンドラインで次のことを試したので、これが機能しないことはわかっています。

grep 'NA' marketing_complete.txt | wc -l

3を返します... :(

4

4 に答える 4

3

これを行う必要はありませんre

f = open('marketing.data.txt')
g = open('marketing_complete.txt', 'w')
for line in f:
    if 'NA' not in line:
        g.write(line)

コンテキスト マネージャーでファイルを開くことをお勧めします。

with open('marketing.data.txt') as f:
   with open('marketing_complete.txt', 'w') as g:
       for line in f:
           if 'NA' not in line:
               g.write(line)
于 2013-10-19T04:10:02.677 に答える
1

あなたのif文については、試してみてください

if 'NA' not in line:
于 2013-10-19T04:12:36.747 に答える