Преобразование листа Microsoft Excel (файл XLS) в файл, разделенный запятыми (CSV), относительно очень просто при использовании продукта Office, но для программистов это может оказаться утомительной задачей. командная строка. Может возникнуть ситуация, когда у вас есть файл XLS и вам нужно заполнить из него базу данных после форматирования данных. Преобразование XLS в CSV — идеальный способ, поскольку CSV — это формат, которым можно легко манипулировать на любом языке, будь то Shell, Perl, Ruby, Python или Java. В этом посте мы увидим лучшие способы преобразования файла XLS в CSV, а также обсудим плюсы и минусы использования этих методов.
кошачий документ (в C)
Первый инструмент командной строки, о котором мы поговорим, — это котдок . Инструмент написан на C В.Б. Вагнер.
1.1 Как установить:
Загрузите инструмент с сайта здесь . Перейдите в каталог за
Contents
кошачий документ (в C)
можете использовать следующие команды (если у вас возникли проблемы):gunzip catdoc-0.94.2.tar.gz tar xvf catdoc-0.94.2.tar
Теперь у нас есть каталог catdoc-0.94.2. Зайдите в этот каталог и выполните следующие команды, чтобы установить его:
./configure make make install
Установка — простой процесс, и здесь у вас не должно возникнуть никаких проблем.
1.2 Как использовать:
Существует несколько вариантов запуска команды. Расскажу варианты, которые лучше всего подходят для конвертации Microsoft Excel:
xls2csv -x "Path_of_Your_XLS_File" -s cp1252 -d 8859-1 > "Path_of_Your_CSV_File"
Обратите внимание на опции «-s» и «-d» (обозначают источник и место назначения). Эти параметры используются для указания того, какая кодировка символов используется в исходном файле и какая будет кодировкой символов для файла назначения. Здесь я использовал cpl1252, кодировку символов Microsoft, и 8859-1, которая используется для кодировки символов Западной Европы. Вы можете использовать другие доступные параметры с помощью команды справки.
xls2csv --help
1.3 Плюсы и минусы:
Плюсы : простая установка
1.2 Как использовать:
нет выборочного преобразования в сценарии с несколькими листами, оно охватывает все листы, присутствующие в файле xls (одним из обходных путей было бы явно указать нижний колонтитул на каждом листе, а затем использовать опцию -b в команда), проблемы с небольшим количеством европейских символов, проблемы с полями даты (поля даты сильно перепутаны), проблемы с кавычками.xls2csv (в Perl)
Второй инструмент, о котором мы поговорим, — это Perl-скрипт xls2csv , написанный Кеном Проусом на Perl.
2.1 Как установить:
Загрузите скрипт здесь . Gunzip и tar, как мы это делали в предыдущем разделе, перейдите в извлеченный каталог и используйте следующие команды для его установки:
perl Makefile.PL make make test make install
Помните, что этот сценарий Perl использует ряд других модулей Perl:
Locale::Recode Unicode::Map Spreadsheet::ParseExcel Text::CSV_XS
При установке xls2csv выда
1.3 Плюсы и минусы:
нутые модули Perl не установлены. Он попросит вас загрузить модули. Загрузите и установите эти модули, когда вас спросят. Для установки всех этих модулей требуются права root. Если у вас нет root-доступа, вам следует следовать инструкциям здесь для установки модуля Perl.2.2 Как использовать:
Для преобразования Microsoft Excel в CSV можно использовать следующую команду:
xls2csv -x "Path_of_Your_XLS_File" -b cp1252 -w WorkSheetName -c "Path_of_Your_CSV_File" -a 8859-1
Опции x и c (означают xls и csv) исп
xls2csv (в Perl)
одных и выходных файлов, тогда как b и a (означают до и после) используются для указания соответствующей кодировки символов. Мы использовали ту же кодировку символов, что и в предыдущем инструменте.2.3 Плюсы и минусы:
Плюсы : хорошо справ
2.1 Как установить:
адноевропейских символов и полями даты, поддерживает выборочное преобразование нескольких листов.Минусы : необходимо установить несколько модулей Perl, первая ячейка не должна быть пустой (иначе будет пропущена вся строка), неразбериха с кавычками
Есть еще несколько способов. Некоторые сценарии на Python и Java также доступны для использования, но они не так хороши, как эти два, обсуждаемые здесь. Надеюсь, статья решит вашу проблему. Вопросы и предложения всегда приветствуются. Приветствую 🙂