1) 计数字段不知道count.fields
立即将整个文件读入 R。尝试一下看看是否有效。
length(count.fields("myfile.csv", sep = ","))
如果文件有标题,则从上面减一。
2) sqldf另一种可能性是:
library(sqldf)
read.csv.sql("myfile.csv", sep = ",", sql = "select count(*) from file")
您可能还需要其他参数,具体取决于标头等。请注意,这根本不会将文件读入 R —— 仅读入 sqlite。
3) wc使用系统命令 wc ,该命令在 R 运行的所有平台上都可用。
shell("wc -l myfile.csv", intern = TRUE)
或者直接获取文件的行数
read.table(pipe("wc -l myfile.csv"))[[1]]
or
read.table(text = shell("wc -l myfile.csv", intern = TRUE))[[1]]
同样,如果有标题则减一。
如果您使用的是 Windows,请确保Rtools已安装并使用:
read.table(pipe("C:\\Rtools\\bin\\wc -l myfile.csv"))[[1]]
或者在没有 Rtools 的 Windows 上尝试以下操作:
read.table(pipe('find /v /c "" myfile.csv'))[[3]]
See 如何使用批处理脚本计算文本文件中的行数并将值存储到变量中?