2017-02-21 3 views
-1

Я пытался импортировать большой CSV, фильтруя несколько столбцов. Так что в основном я просто хотел только пару полей. Я побежал кодНевозможно фильтровать столбцы при импорте CSV

data <- read.csv.sql("D:/ABC June16.csv", 
        sql = "select Zone,Region from file", 
        sep = "\t") 

получил ошибку

Ошибку в sqliteSendQuery (жулик, утверждение, bind.data): ошибки в заявлении: нет такого столбца: Зона

Но У меня есть как столбцы, так и область в моем CSV. Любая идея, почему это происходит?

+3

Вопросов по SO должны обеспечить полную минимальные самодостаточными воспроизводимый пример того, что кто-то может скопировать и вставить в свою сессию, чтобы воспроизвести Ошибка. –

+0

Ваш файл разделен на вкладку? – Roland

+0

Roland Я только что получил данные в excel и сохранил его как CSV, есть шанс, так как его CSV также может быть разделен запятой .. Я пробовал данные <- read.csv.sql ("D:/ABC June16.csv" , sql = "select Zone, Region from file", sep = ",") это тоже, но не работает ... –

ответ

2

Я хотел бы предложить использовать Fread из превосходного data.table пакета:

library(data.table) 
fread("D:/ABC June16.csv", select = c("Zone", "Region")) 
+0

Спасибо .. Я попробовал fread, но он говорит, что мне нужна 64-битная машина, так как память падает. Также пришлось попробовать этот другой вариант. Спасибо за предложение в любом случае ... –

+0

@sb Насколько велика csv файл? Я уверен, что у вас 64-битная машина, вы уверены, что она не была связана с ней, обнаруживая большие целые числа, которые она хочет хранить в 64-битном целое, используя бит64? – wligtenberg