首页 > 解决方案 > 如何从 csv 文件中删除非字母字符和列

问题描述

我有一个如下所示的 csv 文件:

在此处输入图像描述

在某些部分,列中的数据是这样的:

在此处输入图像描述

如您所见,并且由于存在“=”符号,因此它希望将其转换为公式,但是在这种情况下我需要的是单词“rama ...

我从垃圾邮件文件中提取了这个术语,并将 R 转换为稀疏矩阵。所以我的问题是如何从 R 中的此标头中删除非字母数字字符,然后将其再次转换为 csv 文件?

谢谢

标签: r

解决方案


如果您想要一个字面答案,您可以尝试使用gsub替换任何具有一个或多个非字母数字字符的条目:

df <- data.frame(v1=c(1,2,3), v2=c("#NAME?", "two", "#NAME?"),
    stringsAsFactors=FALSE)
df <- data.frame(sapply(df, function(x) gsub(".*[^A-Za-z0-9].*", "", x)))
df

  v1  v2
1  1    
2  2 two
3  3    

演示

但这里最好/最简单的事情可能是修复您的 Excel 公式,以便您捕获这些错误,并只显示空字符串或其他一些合理的消息。据我所知,这基本上是一个 Excel 问题,而不是 R 问题。


推荐阅读