python - 如何使用 Python 从 CSV 文件的列中删除英文单词
问题描述
对 Python 非常陌生。
问题:我有一个 csv 文件,其中包含带有字母数字文本的行,我想删除所有英文单词。例如,输入为:“Steam traps on Steam to 56X-233 Butane Vaporizer”,所需输出为:“56X-233”
答案是否类似于使用 NLTK 删除停用词?
谢谢你。
解决方案
如果您不关心匹配实际单词,您可以使用正则表达式来匹配其中没有数字的任何单词:
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))
推荐阅读
- c# - 如何组合 Swashbuckle 过滤器?
- swift - 如何解决 UIImageView 连接到 Swift4?
- amazon-web-services - Route53 Healthcheck 使用 Terraform 与 Cloudwatch 警报集成
- sql-server - 根据条件在 SQL Server 中运行总计
- c++ - UIAutomation:AddAutomationEventHandler() 返回 E_INVALIDARG
- angular - 如何使用 For 循环 Angular6 动态创建引导模式
- php - 为什么我在在线上传大于 1MB 的文件时使用 Laravel5.4 得到 MethodNotAllowedHttpException,但它在 localhost 上完美运行?
- codeigniter - 在 Codeigniter 3.1.8 中使用购物车类是否安全
- android - 在 android build 中配置 lint 基线文件时出现 Lint 基础结构错误
- ios - 如何在身份验证时更新firebase中的电话号码