我假设这里的每个人都熟悉所有文本文件应以换行符结尾的格言.多年来我一直都知道这个"规则",但我一直在想 - 为什么?
我有数百个 .csv 文件需要使用 fread 读取并另存为一个数据表。每个 .csv 的基本结构都相同。有需要跳过的标题信息(使用 skip = 很容易)。我很难跳过每个 .csv 文件的最后一行。每个 .csv 文件都有不同的行数。
如果我在 Test 文件夹中只有一个文件,这个脚本会完美地跳过第一行(使用 skip = )和最后一行(使用 nrows = ):
file <- list.files("Q:/Test/", full.names=TRUE)
all <- fread(file, skip = 7, select = c(1:7,9),
nrows = length(readLines(file))-9)
Run Code Online (Sandbox Code Playgroud)
在 Test 文件夹中保存多个文件时,这是我尝试的代码:
file <- list.files("Q:/Test/", full.names=TRUE)
L <- lapply(file, fread, skip = 7, select = c(1:7,9),
nrows = length(readLines(file))-9)
dt <- rbindlist(L)
Run Code Online (Sandbox Code Playgroud)
它不会创建 L 并给我这个错误:
Error in file(con, "r") : invalid 'description' argument
Run Code Online (Sandbox Code Playgroud)
关于如何在每个 .csv 的行数不同时跳过每个 .csv 的最后一行的任何想法?
我正在使用 data.table …
你好,有以下命令:
lsscsi | grep HITACHI | awk '{print $6}'
Run Code Online (Sandbox Code Playgroud)
我希望输出是原始输出的行数。例如,如果原始输出是:
/dev/sda
/dev/sdb
/dev/sdc
Run Code Online (Sandbox Code Playgroud)
最终的输出将是3.