Пакетное преобразование xlsx в csv, все листы с шаблоном, если они имеют данные, в linux - PullRequest
0 голосов
/ 25 февраля 2020

Мне нужно конвертировать много файлов XLSX в CSV, но у каждого файла есть вкладки, которые необходимо преобразовать в отдельные файлы, если в них есть данные.

Кроме того, мне нужно конвертировать только те вкладки, которые следуют шаблону в своем имени, например, «Tab1».

До сих пор мне удалось выполнить пакетное преобразование файлов, хотя он печатает только первую вкладку, используя утилиту ssconvert:

find. -name '* .xlsx' -exec ssconvert -T Gnumeric_stf: stf_csv {} \;

Но когда я пытаюсь добавить флаг вкладок (-S) или флаг для включения этих вкладок с шаблоном (-I), я получаю только следующее сообщение:

find. -name '* .xlsx' -exec ssconvert -S -I tab1 -T Gnumeric_stf: stf_csv {} \;

Требуется имя выходного файла или явный тип экспорта.

Как мне сделать это правильно?

1 Ответ

1 голос
/ 26 февраля 2020

Я только что нашел решение, я оставляю его здесь на случай, если кто-то посчитает его полезным. В конце я создал небольшой скрипт, который выполняет действия:

#!/bin/bash

for i in *.xlsx; do
    nombre=${i:0:${#i}-5};
    name="$nombre-%n-%s.csv";
    ssconvert --export-type=Gnumeric_stf:stf_csv --export-file-per-sheet $i $name; 
done
echo "Finish!"
...