Jawaban:
in2csv
menyediakan --names
atau -n
pilihan untuk itu: [ Sumber ]
-n, --names Display sheet names from the input Excel file.
Dalam contoh Anda perintahnya adalah:
in2csv -n file1.xls
Ternyata fitur ini hanya ditambahkan di csvkit
1.0.2, yang belum tersedia dari sumber paket resmi . Anda juga perlu
instal via pip
dengan
sudo pip install csvkit
untuk mendapatkan versi terbaru.
sudo apt remove python3-csvkit
dan menginstal yang lebih baru, lebih disukai dari packages.ubuntu.com , atau yang lain dari github.com/wireservice/csvkit/tree/1.0.2 . Fitur ini diperkenalkan dengan komit ini ditandai "1.0.2", jadi versi apa pun dari pada harus memiliki opsi ini.
in2csv
itu panggilan /path/to/new/in2csv
jika dipanggil dengan -n
opsi dan yang /usr/bin/in2csv
lain biasa .
sudo apt remove python3-csvkit
, menginstal yang lebih baru dan berhasil. Fungsi wrappernya sangat bermanfaat ya!
in2csv
adalah pilihan yang lebih sederhana, tetapi saya akan meninggalkan ini jika seseorang mungkin merasa berguna. Ada perintah yang bagus xlhtml
untuk mengkonversi file XLS ke HTML atau XML. Dan begitu Anda memiliki XML, berbagai alat pemrosesan XML dapat digunakan untuk melakukan berbagai macam pertanyaan di dalamnya. Pada kasus ini:
$ xlhtml -xml ~/foo.xls | xmlstarlet sel -t -m '//pagetitle' -v . -n
Sheet1
Sheet2
XML yang xlhtml
menghasilkan seperti:
<?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>
Jadi, untuk nama sheet, kita bisa query pagetitle
node, yang saya gunakanxmlstarlet
.
in2csv
kurang-n
. Aneh, mencoba mencari cara untuk mendapatkan yang terbaru tetapi mengalami masalah dengan csvkit dan menghapusin2csv
... sigh