2016-02-24 2 views
0

Как удалить индексирование csv при сохранении фрейма данных с помощью rpy2? Ниже, как это сделано в R, и моя попытка питон:Как экспортировать DataFrame в csv без индекса с помощью rpy2?

R Код:

write.csv(dataframe, save_path, row.names = FALSE) 

код Python:

from rpy2.robjects.packages import importr 
utils_package = importr("utils") # import utils package from R 
utils_package.write_csv(dataframe, save_path) # what to add to remove the row names(i.e., index)? 

ответ

1

В R, write.csv() на самом деле является оберткой для более общей функции write.table(), где прежний аргумент предварительно задан, например, разделитель запятой. Подумайте об использовании более общей функции в Python, указав row_names, конечно же, с разделителем запятой. Ниже включает несколько альтернатив:

# USING WRITE.TABLE() 
utils_package.write_table(xmldf, save_path, sep=",", row_names=False) 

# INCLUDING NON-DEFAULT ARGUMENTS 
utils_package.write_table(x=xmldf, file=save_path, sep=",", row_names=False) 

# INCLUDING ALL ARGUMENTS 
utils_package.write_table(xmldf, save_path, False, True, ",", "\r", "NA", ".", False) 

Альтернативно, объект ro.r() может быть использован без необходимости импорта базовых пакетов:

import rpy2.robjects as ro 

output = ro.r['write.table'](x=xmldf, file=save_path, sep=",", row_names=False) 
0

row_names=True работа ... если указанный параметр был явно определен в сигнатуре для функции в R-коде. К сожалению, он извлекается из эллипсиса ....

**{'row.names': True} должно работать.

Подробнее в документации: http://rpy2.readthedocs.org/en/version_2.7.x/robjects_rpackages.html

Примечание: Вы также можете попробовать динамически сгенерированной (строка документации ?utils_package.write_csv в IPython).

+0

utils_package.write_csv (dataframe, save_path, row_names = Ложные) не работает @ Igautier. Это то, что вы имели в виду? Я получаю сообщение об ошибке: «unused argument (row_names = FALSE)» – gcamargo

+0

А, да. Я обновил ответ, но вы действительно должны прочитать точное руководство ... – lgautier

Смежные вопросы