Навигация
Навигация по подшивке
Конвертация 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 все листы в один файл.
Есть и другие утилиты, может и до них руки дойдут ;-)