Yanıtlar:
in2csvdan csvkitpaket sağlar --namesveya -nbunun için bir seçenek: [ Kaynak ]
-n, --names Display sheet names from the input Excel file.
Örneğinizde komut şöyle olacaktır:
in2csv -n file1.xls
Bu özellik, Bionic'ten daha eski sürümler csvkitiçin resmi paket kaynaklarında bulunmayan 1.0.2'de eklenmiştir . Xenial çalıştırıyorsanız,
aracılığıyla yükleyin pipile
sudo pip install csvkit
son sürümü almak için.
sudo apt remove python3-csvkitve yüklemek daha yeni bir tane, tercihen packages.ubuntu.com dan başka, ya github.com/wireservice/csvkit/tree/1.0.2 . Bu özellik, "1.0.2" etiketli bu işlemle tanıtıldı, bu nedenle bundan sonraki tüm sürümlerde bu seçenek bulunmalıdır.
in2csvolduğunu seçenek ve her zamanki gibi /path/to/new/in2csvçağrılması durumunda çağırır . -n/usr/bin/in2csv
sudo apt remove python3-csvkitYeni olanı kullandım , yükledim ve işe yaradı. Sarıcı işlevi çok kullanışlıdır evet!
in2csvdaha basit bir seçenektir, ancak birisinin yararlı bulabilmesi durumunda bunu bırakacağım. xlhtmlXLS dosyalarını HTML veya XML'ye dönüştürmek için güzel bir komut var . Ve XML'i aldıktan sonra, üzerinde çok çeşitli sorgular yapmak için çeşitli XML işleme araçları kullanılabilir. Bu durumda:
$ xlhtml -xml ~/foo.xls | xmlstarlet sel -t -m '//pagetitle' -v . -n
Sheet1
Sheet2
Üreten XML şöyle xlhtml:
<?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>
Yani, levha adları için, biz sorgulayabilir pagetitlehangi düğümleri, kullandığımxmlstarlet .
in2csveksik-nseçeneğim var. Garip, en son nasıl anlamaya çalışıyorum ama csvkit ile sorun yaşıyorsanız ve daha yaşlıin2csv... sigh