Я пытаюсь импортировать данные (файл .ods) и знаю, как импортировать .csv, .xls и т. д., но все время теряюсь. Я попробовал это с пакетом Gnumeric, но R говорит мне, что необходимая программа «ssconvert» не может быть найдена.
Как импортировать .ods?
Ответы (3)
Я написал пакет под названием readODS
, в котором есть функция read.ods
, которая возвращает файлы ods как data.frames
(список data.frames
, по одному на лист)
Он доступен в CRAN, см. здесь!
Исходники и отчеты об ошибках здесь: https://github.com/chainsawriot/readODS
install.packages("readODS")
: пакет «readODS» недоступен (для версии R 3.0.2).
- person Waldir Leoncio; 20.11.2014
http://cran.r-project.org/web/checks/check_results_readODS.html
и он передает все туда... я добавил отчет об ошибке в свой трекер, но я не уверен, что с ним делать (https://github.com/phonixor/readODS/issues/14
).
- person phonixor; 23.11.2014
read.ods
против read_ods
;-)
- person MichaelChirico; 29.10.2016
read.ods
устарела и заменена на read_ods
.
- person Superbest; 03.11.2016
read_ods
— это функция для чтения одного листа из файла ods
и возврата фрейма данных. read.ods
всегда возвращает список фреймов данных с одним фреймом данных на лист. Это оболочка для read_ods
для обратной совместимости с предыдущей версией readODS
. Пожалуйста, используйте read_ods
, если это возможно.
- person andselisk; 11.03.2020
У меня была точная проблема в Ubuntu Linux. Это досадно очевидно:
sudo apt-get установить gnumeric
Так случилось, что у меня была куча устаревших пакетов, и я прошел кучу, чтобы обновить их. Для библиотеки gnumeric
требуется библиотека XML
, а моя установка библиотеки XML
была построена на версии 2.14, и мой R не загружал ничего, созданное до версии 3.0. Я не думаю, что это ваша проблема, но если это решение выше не работает, возможно, вы также можете проверить, обновлены ли ваши пакеты. Все, что я установил через sudo
, нужно было удалить через sudo
, иначе я получил ошибки прав доступа.
Это досадно очевидно, потому что сообщение об ошибке
Ошибка в read.gnumeric.sheet(file = fname, head = TRUE, sheet.name = "Sheet1"): необходимая программа 'ssconvert' не найдена.
Чтобы подчеркнуть это, документация пакета на http://cran.at.r-project.org/web/packages/gnumeric/gnumeric.pdf говорит
Требуется внешняя программа 'ssconvert' (обычно устанавливается вместе с 'gnumeric' (http://projects.gnome.org/gnumeric/) в ПУТИ.
Как получить ssconvert
? Опять же, досадно очевидно: обычно он устанавливается вместе с gnumeric. Перейдите в командную строку и введите ssconvert
, и он напомнит вам, что:
user@Computer:~$ ssconvert
В настоящее время программа ssconvert не установлена. Вы можете установить его, набрав: sudo apt-get install gnumeric
Я проверил, ssconvert
нет в пакетах зависимостей (например, gnumeric-common
), он есть в самом gnumeric
, поэтому вам нужно установить полный пакет gnumeric
:
sudo apt-get установить gnumeric
Я не пробовал, но похоже, что пакет ROpenOffice может справиться с этой задачей: http://www.omegahat.org/ROpenOffice/