Я понимаю, что это не совсем вопрос, связанный с Unix / Linux. Но так как это то, что я буду делать в Linux, я надеюсь, что у кого-то есть ответ.
У меня есть онлайн файл Excel ( .xlsx
), который периодически обновляется (кем-то еще). Я хочу написать сценарий и вставить его как cronjob, чтобы обработать этот лист Excel. Но чтобы сделать это, мне нужно преобразовать это в текстовый файл (а .csv
) с разделенными точкой с запятой столбцами. К сожалению, нельзя разделять запятыми, поскольку в некоторых столбцах есть запятые. Можно ли вообще сделать это преобразование из оболочки? У меня установлен Open office, и я могу сделать это с помощью его графического интерфейса, но хочу знать, возможно ли это сделать из командной строки. Благодарность!
PS: У меня также есть компьютер Mac, так что если какое-то решение может работать там, это тоже хорошо. :)
;
в качестве разделителя.https://github.com/dilshod/xlsx2csv
Хорошо сработало для меня. Около 85 МБ XLSX-файла конвертируется примерно за 3 минуты на SSD Mac Book Pro.
источник
$ python xlsx2csv.py -d ";" my.xlsx my.csv
работал хорошо и способность определить разделитель, спасибо +!Я использую Perl xls2csv для преобразования
xls
файлов вcsv
.Не уверен, что если он
xlsx
тоже работает .Около:
вот почему было введено цитирование:
источник
awk
сценарии. И просто проще передать точку с запятой в качестве разделителя полейawk
. Я мог бы искать запятые внутри кавычек, чтобы заменить их чем-то еще ... теперь это другой вопрос :)Я использую PHP. Просто установите библиотеку PHPExel с http://phpexcel.codeplex.com/ и, вероятно, вам тоже понадобятся функции XML.
Это мой код:
Вы можете отменить процесс или использовать другой формат Excel / CSV. Посмотрите на разные файлы php в каталоге PHPExcel.
источник