чтение нескольких CSV-файлов с использованием data.table не работает при заданном пути к файлам, возможная ошибка? - PullRequest
0 голосов
/ 03 мая 2020

Я хочу прочитать несколько файлов CSV, где я читаю только два столбца из каждого. Итак, мой код такой:

library(data.table)

files <- list.files(pattern="C:\\Users\\XYZ\\PROJECT\\NAME\\venv\\RawCSV_firstBatch\\*.csv")

temp <- lapply(files, function(x) fread(x, select = c("screenNames", "retweetUserScreenName")))
data <- rbindlist(temp)

Это дает character(0). Однако, когда я перемещаю эти CSV-файлы туда, где находится мой скрипт, и меняю files на следующее:

files <- list.files(pattern="*.csv")
#....

Мой dir() вывод такой:

[1] "adjaceny_list.R"        "cleanusrnms_firstbatch"
[3] "RawCSV_firstBatch"      "username_cutter.py"   

все получает читать. Не могли бы вы помочь мне отследить, что именно происходит, пожалуйста? Папка, содержащая эти CSV-файлы, находится в том же каталоге, где находится сценарий. ТАК, даже если у меня patterm= "RawCSV_firstBatch\\*.csv" такая же проблема.

РЕДАКТИРОВАТЬ: также сделал:

files <- list.files(path="C:\\Users\\XYZ\\PROJECT\\NAME\\venv\\RawCSV_firstBatch\\",pattern="*.csv")
#and
files <- list.files(pattern="C:/Users/XYZ/PROJECT/NAME/venv/RawCSV_firstBatch/*.csv")

Оба дали пустой кадр данных.

1 Ответ

3 голосов
/ 03 мая 2020

@ NelsonGon упомянул обходной путь:

Сделайте что-то вроде: list.files ("./ path / folder", pattern = "*. Csv $") Используйте .. или. как требуется. (Не уверен в использовании фактического пути). Может также использовать ~

Так что работает. Спасибо. (извините, у меня есть 2 дня, прежде чем я отмечу это как ответ)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...