Относительные пути к файлам в Julia - PullRequest
1 голос
/ 09 июля 2020

Как я могу прочитать файл из подпапки.

... folder ------ subfolder_1
             |
             |--- subfolder_2
  1. Как мне получить доступ к файлу в subfolder_1 из folder?
  2. Как мне получить доступ к файлу в subfolder_1 из subfolder2?

Причина, по которой я спрашиваю, заключается в том, что я хотел прочитать файл Excel (используя пакет XLSX), но он не работает. (" MethodError: нет метода, подходящего для таблицы чтения (:: String ... ") Думаю, я делаю здесь что-то еще не так.

Кроме того, я чувствую, что другие могут быть заинтересованы в и этот вопрос.

1 Ответ

1 голос
/ 09 июля 2020

MethodError означает, что функция, которую вы пытаетесь использовать, не предназначена для вводимых вами входных данных. Чтобы получить дополнительную информацию о функции и требуемых аргументах, вы можете ввести ? <functionname> в REPL после того, как наберете using <packagename>.

В этом случае ? readtable показывает следующее:

readtable(filepath, sheet, [columns]; [first_row], [column_labels], [header], [infer_eltypes], [stop_in_empty_row], [stop_in_row_function]) -> data, column_labels

Первые два аргумента filepath и sheet обязательны. Аргументы в скобках необязательны. В вашем случае вам нужно добавить второй строковый аргумент, который содержит имя листа, которое вы хотите прочитать из файла XLSX. Справка также показывает, что на выходе будет кортеж, содержащий (data, column_labels), так что будьте готовы с этим справиться. Часто этот кортеж будет преобразован в DataFrame с помощью DataFrames.jl и функции DataFrame(), например, DataFrame(readtable(filepath,sheet)).

Что касается доступа к папкам и подпапкам, путь, который вы вводите, может быть относительно текущего рабочего каталога Джулии или абсолютный путь, который будет зависеть от вашей операционной системы. Подпапки обозначаются /, например "folder/subfolder". Вы можете go на одну папку вверх с двойной точкой .. например "subfolder2/../subfolder1".

...