Respostas:
in2csvfornece a opção --namesou -npara isso: [ Origem ]
-n, --names Display sheet names from the input Excel file.
No seu exemplo, o comando seria:
in2csv -n file1.xls
Acontece que esse recurso foi adicionado apenas na csvkit1.0.2, que ainda não está disponível nas fontes oficiais de pacotes . Você precisa
instale-o via pipcom
sudo pip install csvkit
para obter a versão mais recente.
sudo apt remove python3-csvkite instalar um mais novo, de preferência a partir de packages.ubuntu.com ou de github.com/wireservice/csvkit/tree/1.0.2 . O recurso foi introduzido com este commit marcado como “1.0.2”, portanto, qualquer versão a partir daí deve ter essa opção.
in2csvque chama /path/to/new/in2csvno caso de ser chamado com a -nopção e o habitual /usr/bin/in2csvmais.
sudo apt remove python3-csvkit, instalei o mais novo e funcionou. A função wrapper é muito útil, sim!
in2csvé a opção mais simples, mas deixarei isso para o caso de alguém achar útil. Há um bom comando chamado xlhtmlpara converter arquivos XLS em HTML ou XML. E uma vez que você tenha o XML, várias ferramentas de processamento XML podem ser usadas para fazer uma ampla variedade de consultas. Nesse caso:
$ xlhtml -xml ~/foo.xls | xmlstarlet sel -t -m '//pagetitle' -v . -n
Sheet1
Sheet2
O XML que xlhtmlgera é assim:
<?xml version="1.0" encoding="iso-8859-1" ?>
<excel_workbook>
<sheets>
<sheet>
<page>0</page>
<pagetitle>Sheet1</pagetitle>
<firstrow>0</firstrow>
<lastrow>11</lastrow>
<firstcol>0</firstcol>
<lastcol>0</lastcol>
Portanto, para os nomes das planilhas, podemos consultar os pagetitlenós, para os quais eu useixmlstarlet .
in2csvfalta de-nopção. Estranho, tentando descobrir como obter o mais recente, mas tendo problemas com csvkit e remover mais velhosin2csv... suspiro