Jawaban:
in2csvmenyediakan --namesatau -npilihan 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 csvkit1.0.2, yang belum tersedia dari sumber paket resmi . Anda juga perlu
instal via pipdengan
sudo pip install csvkit
untuk mendapatkan versi terbaru.
sudo apt remove python3-csvkitdan 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.
in2csvitu panggilan /path/to/new/in2csvjika dipanggil dengan -nopsi dan yang /usr/bin/in2csvlain biasa .
sudo apt remove python3-csvkit, menginstal yang lebih baru dan berhasil. Fungsi wrappernya sangat bermanfaat ya!
in2csvadalah pilihan yang lebih sederhana, tetapi saya akan meninggalkan ini jika seseorang mungkin merasa berguna. Ada perintah yang bagus xlhtmluntuk 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 xlhtmlmenghasilkan 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 pagetitlenode, yang saya gunakanxmlstarlet .
in2csvkurang-n. Aneh, mencoba mencari cara untuk mendapatkan yang terbaru tetapi mengalami masalah dengan csvkit dan menghapusin2csv... sigh