首页 > 解决方案 > 如何使用 Python 从 CSV 文件的列中删除英文单词

问题描述

对 Python 非常陌生。

问题:我有一个 csv 文件,其中包含带有字母数字文本的行,我想删除所有英文单词。例如,输入为:“Steam traps on Steam to 56X-233 Butane Vaporizer”,所需输出为:“56X-233”

答案是否类似于使用 NLTK 删除停用词?

谢谢你。

标签: pythonnltk

解决方案


如果您不关心匹配实际单词,您可以使用正则表达式来匹配其中没有数字的任何单词:

import re

def remove_words(line):
    # Remove words containing only letters
    line = re.sub(r"\b[A-Za-z]+\b", "", line)

    # Remove remaining extra spaces
    return re.sub(" +", " ", line).strip()

print(remove_words("Steam traps on Steam to 56X-233 Butane Vaporizer"))

要对整个文件执行此操作,您只需要获取文件的每一行并在其上运行上述代码:

with open("my_file.txt") as f:
    for line in f.readlines():
        print(remove_words(line))

推荐阅读