Как импортировать .ods?

Я пытаюсь импортировать данные (файл .ods) и знаю, как импортировать .csv, .xls и т. д., но все время теряюсь. Я попробовал это с пакетом Gnumeric, но R говорит мне, что необходимая программа «ssconvert» не может быть найдена.


person Thomas    schedule 24.02.2014    source источник
comment
Вы пытались установить пакет ssconvert? mail.gnome.org/archives/gnumeric-list/2013- Ноябрь/   -  person philshem    schedule 24.02.2014
comment
У меня точно такая же проблема, как и у спрашивающего, но я не могу установить ssconvert (нет такого пакета?). К сожалению, я не понимаю ответа. R не ищет ssconvert в нужном месте. Я думал, что ssconvert является неотъемлемой частью gnumeric?   -  person Thomas    schedule 24.02.2014
comment
Какую ос вы используете? Правильное место обычно является сокращением для проверки того, что программа находится в вашем PATH, другими словами, может быть найдена вызывающими ее программами. В Linux он работает без сбоев после установки gnumeric.   -  person FvD    schedule 10.03.2014


Ответы (3)


Я написал пакет под названием readODS, в котором есть функция read.ods, которая возвращает файлы ods как data.frames (список data.frames, по одному на лист)

Он доступен в CRAN, см. здесь!

Исходники и отчеты об ошибках здесь: https://github.com/chainsawriot/readODS

person phonixor    schedule 24.06.2014
comment
Любые изменения, мы скоро получим версию, совместимую с R 3.0.2? Я получаю это сообщение после запуска install.packages("readODS"): пакет «readODS» недоступен (для версии R 3.0.2). - person Waldir Leoncio; 20.11.2014
comment
я не знаю, как добавить пакеты в CRAN для предыдущих выпусков R или как проверить, на каких версиях может работать мой пакет. Можете ли вы попробовать собрать пакет самостоятельно? все, что я могу найти, это: http://cran.r-project.org/web/checks/check_results_readODS.html и он передает все туда... я добавил отчет об ошибке в свой трекер, но я не уверен, что с ним делать (https://github.com/phonixor/readODS/issues/14). - person phonixor; 23.11.2014
comment
Возможно, вам следует уточнить read.ods против read_ods ;-) - person MichaelChirico; 29.10.2016
comment
Согласно вашим собственным документам, с версии 1.6.2 read.ods устарела и заменена на read_ods. - person Superbest; 03.11.2016
comment
Несмотря на недавнее обновление, я протестировал эту функцию, и она ужасно работает медленно. Если авторы не сделают что-то для ускорения чтения, я буду искать что-то другое. - person Adrian; 05.01.2017
comment
Я использовал его, но мои не-ascii-буквы, такие как å, импортируются как ‹U+00E5› или как å произвольно. Однако read_ods() отлично подходит для получения чисел из .ods-файлов. - person nJGL; 08.10.2018
comment
@MichaelChirico Из rdocumentation.org: 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

person woodvi    schedule 24.05.2014

Я не пробовал, но похоже, что пакет ROpenOffice может справиться с этой задачей: http://www.omegahat.org/ROpenOffice/

person user1578653    schedule 24.02.2014
comment
Я тоже пробовал, R говорит мне: ОШИБКА: зависимость «Rcompression» недоступна для пакета «ROpenOffice» * удаление - person Thomas; 24.02.2014