У меня есть данные, что выглядит примерно так:Использования sqldf данных с сноской
myDat <- data.frame(V1=rnorm(1000),
V2=sample(LETTERS, 1000, replace=TRUE),
V3=sample(1:1000, 1000))
write.table(myDat, file="myData.txt", sep="|", quote=FALSE, col.names=FALSE, row.names=FALSE)
write("00001000 RECORDS", file="myData.txt", append=TRUE) # This is the annoying footer
Примечание колонтитула в нижней части, что всегда есть .. Я хотел бы, чтобы прочитать его в sqldf. Что-то вроде этого:
f <- file("myData.txt")
hkFile <- sqldf("SELECT * FROM f", dbname=tempfile(),
file.format=list(header=FALSE, sep="|", eol="\n"))
Я получаю эту ошибку из футера, приложенного к данным:
Error in .local(conn, name, value, ...) :
RS_sqlite_import: myData.txt line 1001 expected 3 columns of data but found 1
есть простой способ обойти сноску? Копирование данных во временный файл не является вариантом, так как некоторые из моих наборов данных ~ 6 ГБ
Это сработало, спасибо! Не могли бы вы рассказать о том, что вы подразумеваете под «прозрачной копией» и тем, что там происходит? – panterasBox
Он будет запускать входной файл через 'head -n-1', создавая временный файл, а затем читать это временное значение, чтобы была сделана копия. Попробуйте добавить 'verbose = TRUE' к аргументам' read.csv.sql', чтобы увидеть подробности. –