Python конвертировать файл Excel (xls или xlsx) в / из ODS

Я искал сеть, чтобы найти библиотеку Python или инструмент, который может конвертировать файл Excel в / из формата ODS, но не смог ничего найти.

Мне нужна возможность ввода и вывода данных в любом формате. Нам не нужно беспокоиться о слитых ячейках, формулах или чем-то непростом.

2 ответа

Решение

Если у вас установлен libreoffice, вы можете сделать обертку для выполнения Python в режиме без заголовка:

$ /usr/bin/libreoffice --headless --invisible -convert-to ods /home/cwgem/Downloads/QTL_Sample_data.xls 
convert /home/cwgem/Downloads/QTL_Sample_data.xls -> /home/cwgem/QTL_Sample_data.ods using OpenDocument Spreadsheet Flat XML
$ /usr/bin/libreoffice --headless --invisible -convert-to xls /home/cwgem/QTL_Sample_data.ods 
convert /home/cwgem/QTL_Sample_data.ods -> /home/cwgem/QTL_Sample_data.xls using

Что было бы немного проще, чем пытаться сделать это через библиотечный маршрут.

Мне удалось преобразовать файл xlsx в файл ods с помощью этого метода:

  1. установить pyexcel-xlsx
  2. установить pyexcel-ods3

И используйте следующий код:

      from pyexcel_ods3 import save_data
from pyexcel_xlsx import get_data

dataXlsx = get_data("file.xlsx")
save_data("file.ods", dataXlsx)

Внимание : цвета/дизайн файла xlsx удалены в файле ouput ods... так что это не настоящий успех.

Другие вопросы по тегам