我正在处理数据,其中源是Excel格式的手动更新,每月提供一次。
数据的一个怪癖是,一些取消的记录由键入数据的人指示,突出显示红色的单元格,或者将字体更改为删除线。不幸的是我无法控制数据输入源,因此我不得不定期手动搜索文件中的红色单元格或删除字体,并手动清理它们(删除或添加状态为已取消的列,具体取决于使用)。
有没有人对这方面的最佳数据清理实践提出建议?是否有自动化的方法,或者我只是必须辞职以记录步骤,并定期执行它们?
有关信息,我首选的工具是R,所以如果有办法从R中清除它,那将是最好的。我对其他方法持开放态度。
答案 0 :(得分:1)
有一些用于使用Excel的R软件包,但基于格式化过滤数据将涉及使用rcom和excel的COM接口。我对这两者都不太熟悉。
我要做的路线是编写一个VBA宏,它将过滤数据,将该宏包装在VBS脚本中,然后从命令行调用该脚本(或通过R system
或shell
函数)
我之所以选择这条路是因为如果您对编程有任何熟悉,那么VBA和VBS都很容易上手。另一方面,COM并不是人们很快就能获得一定程度的舒适感。
VBA可以让您访问excel格式。 (Visual Basic for Applications)。 VBS是您通过命令行而不是Excel(Visual Basic Scripting Edition)自动化宏所需的。
答案 1 :(得分:1)
您可以在Excel中执行此操作。首先记录一个宏,然后在所需的列上放置一个基于颜色的过滤器(仅选择红色单元格),删除行,然后停止记录宏。
这应该给你一个宏。您可能需要进行一些小的更改,您可以使用google特定命令获取更多详细信息。