python从包含NA的文本中删除行

2024-04-19 16:24:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我有数据在http://people.stern.nyu.edu/ja1517/data/marketing.data,我保存为市场营销.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)

我知道这不起作用,因为我在命令行中尝试了以下操作。在

^{pr2}$

返回3。。。:(


Tags: 数据retxthttpdatalineopenpeople
3条回答

你可以搞定-

grep -v NA marketing.data.txt > marketing_complete.txt

您不需要re来执行此操作:

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

最好使用上下文管理器打开文件:

^{pr2}$

如果你已经在变大,只需:

grep -v NA marketing.data.txt > marketing_complete.txt

“-v”选项反转搜索,以便只打印不匹配的行。在

相关问题 更多 >