我有一个大型CSV文件(数据大小为20 GB)。它包含来自传感器的时间序列数据,并且“时间”列有多个重复值?如何删除这些重复项?
由于文件太大,我无法在R中读取文件,无法找到无需读取文件(或读取块)即可删除重复项的方法?
答案 0 :(得分:1)
这是另一个建议。您还可以使用SQL方法快速读取它。
sqldf::read.csv.sql(file, ...)
然后使用complete.cases
。
或者在R中,您可以将csv文件直接读入数据库。
MonetDBLite::monetdb.read.csv(file, ...)
然后,您可以使用dplyr
和dbplyr
处理数据。您可以使用dplyr::distinct
。
答案 1 :(得分:0)
您可以尝试使用data.table中的fread读取文件
library(data.table)
df<- fread("filename.csv")
##removing duplicates
df1<- unique(df)
我希望您的系统有足够的RAM。 fread比read.csv
快很多倍