Câu trả lời:
in2csv
cung cấp tùy chọn --names
hoặc -n
cho điều đó: [ Nguồn ]
-n, --names Display sheet names from the input Excel file.
Trong ví dụ của bạn, lệnh sẽ là:
in2csv -n file1.xls
Hóa ra tính năng này chỉ được thêm vào trong csvkit
1.0.2, chưa có sẵn từ các nguồn gói chính thức . Bạn cần phải
cài đặt nó qua pip
với
sudo pip install csvkit
để có được phiên bản mới nhất.
sudo apt remove python3-csvkit
và cài đặt một cái mới hơn, tốt nhất là từ gói.ubfox.com , hoặc từ github.com/wireservice/csvkit/tree/1.0.2 . Tính năng này được giới thiệu với cam kết này được gắn thẻ 1.0 1.0 1.0, vì vậy bất kỳ phiên bản nào từ đó trở đi đều phải có tùy chọn này.
in2csv
mà gọi /path/to/new/in2csv
trong trường hợp nó được gọi với -n
tùy chọn và thông thường /usr/bin/in2csv
khác.
sudo apt remove python3-csvkit
, cài đặt cái mới hơn và nó hoạt động. Các chức năng bao bọc là rất hữu ích có!
in2csv
là tùy chọn đơn giản hơn, nhưng tôi sẽ để nó trong trường hợp ai đó có thể thấy nó hữu ích. Có một lệnh hay được gọi xlhtml
để chuyển đổi các tệp XLS sang HTML hoặc XML. Và một khi bạn có XML, các công cụ xử lý XML khác nhau có thể được sử dụng để thực hiện nhiều truy vấn khác nhau trên đó. Trong trường hợp này:
$ xlhtml -xml ~/foo.xls | xmlstarlet sel -t -m '//pagetitle' -v . -n
Sheet1
Sheet2
XML xlhtml
tạo ra là như vậy:
<?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>
Vì vậy, đối với tên trang tính, chúng ta có thể truy vấn các pagetitle
nút mà tôi đã sử dụngxmlstarlet
.
in2csv
thiếu-n
tùy chọn. Thật kỳ lạ, cố gắng tìm ra cách để có được bản mới nhất nhưng gặp rắc rối với csvkit và loại bỏin2csv
... thở dài