Конвертация xls или xlsx в csv.

Для обрабоки эксель файлов удобно их сначала преобразовать XLS/XLSX в CSV, а потом уже построчно читать CSV.
Для XLS стоит использовать консольную программу xls2csv  - входит в пакет "catdoc" в репозитории Ubuntuю
А для для XLSX — xlsx2csv.

Установка на сервер:

apt-get install catdoc

Преобразовать удоно так:

xls2csv -x "1251spreadsheet.xls" -b WINDOWS-12521 -c "ut8csvfile.csv" -a UTF-8
# Или проще
xls2csv "spreadsheet.xls" "ut8csvfile.csv"
# я использую
xls2csv -d utf-8 "spreadsheet.xls" > "ut8csvfile.csv"

Кавычки нужны, если например пробел в имени файла есть.

Установка xlsx2csv чуть сложнее, (сначала надо питон поставить)

apt-get install python-dev python-pip python-setuptools build-essential
# И потом:
pip install xlsx2csv

Использовать так же просто

xlsx2csv spreadsheet.xlsx csvfile.csv
# Не забываем что всегда можно посмотреть помощь
xlsx2csv --help

xlsx2csv - только начал работать и был несколько разочарован тем что он как то странно по своему и не так как xls2csv преобразует все листы в эксель файле.

Оказалось что по умолчанию в файл он записывает только первый лист, а если нужно все листы конвертировать в csv, то вас ждет неожиданнось - в консольон выводит всё через разделитель, а в файл который вы укажете он ничего не выведет!?

xlsx2csv -a файл.xlsx директория/new - создаст каталог и все листы как файлы.csv и запишет. Мне это дело совсем не нужно и не удобно. Хотелось бы как в xls2csv все листы в один файл.

Есть и другие утилиты, может и до них руки дойдут ;-)

Ваша оценка: Нет Средняя: 5 (2 голосов)