Прошу прощения, что я не могу создать воспроизводимый пример (или, я думаю, по крайней мере, не по правилам), но все же надеюсь для помощи. Я использую данные здесь: American Housing Survey 2013 dataПрочтите огромный файл .csv с некоторыми столбцами в одинарных кавычках, но не все с fread из пакета data.table
Поскольку файлы данных достаточно большой, я хотел бы использовать команду «Fread» вместо команды «read.csv». С read.csv я мог бы просто сделать следующее:
homimp <- read.csv("homimp.csv", quotes = "'")
head(homimp)
CONTROL RAS RAH RAD JRAS JRAD
1 100003130103 74 2 96 -9 9
2 100006110249 35 2 8358 -9 9
3 100006110249 36 2 5970 -9 9
4 100006110249 37 2 6567 -9 9
5 100006110249 40 2 716 -9 9
6 100006110249 45 2 1910 -9 9
и было бы удалить кавычки (обратите внимание, что один столбец (РАД) не в кавычках, в первую очередь) Однако, если я читаю с FREAD I кажется, не быть в состоянии удалить кавычки цитата аргумент возвращает ошибку:
homimpdt <- fread("homimp.csv", quote = "'")
Error in fread("homimp.csv", quote = "'") : unused argument (quote = "'")
И без аргументов кавычки не удаляются:
homimpdt <- fread("homimp.csv")
head(homimpdt)
CONTROL RAS RAH RAD JRAS JRAD
1: '100003130103' '74' '2' 96 '-9' '9'
2: '100006110249' '35' '2' 8358 '-9' '9'
3: '100006110249' '36' '2' 5970 '-9' '9'
4: '100006110249' '37' '2' 6567 '-9' '9'
5: '100006110249' '40' '2' 716 '-9' '9'
6: '100006110249' '45' '2' 1910 '-9' '9'
Почему я хочу это сделать:
> system.time(newhouse <- read.csv('newhouse.csv', quote = "'"))
user system elapsed
24.86 0.68 25.77
> system.time(newhousedt <- fread('newhouse.csv'))
Read 84355 rows and 760 (of 760) columns from 0.273 GB file in 00:00:04
user system elapsed
3.33 0.07 3.41
Большое спасибо за помощь!
Ad Psidom Комментарий:
homimpdt <- fread("homimp.csv", quote = "\'")
Error in fread("homimp.csv", quote = "'") : unused argument (quote = "'")
Установить 'quote =" \ '"'. – Psidom
@ Psidom: Спасибо за ваш ответ, но, к сожалению, он также возвращает ошибку. –
Нет параметра 'quote' для' data.table :: fread() ', если вы не используете 1.9.7 из github, но этот файл имеет ~ 67K строк. Это не большой файл и на самом деле не гарантирует использование 'fread()' for "speed" – hrbrmstr