Câu trả lời:
in2csvcung cấp tùy chọn --nameshoặc -ncho đ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 csvkit1.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 pipvới
sudo pip install csvkit
để có được phiên bản mới nhất.
sudo apt remove python3-csvkitvà 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.
in2csvmà gọi /path/to/new/in2csvtrong trường hợp nó được gọi với -ntùy chọn và thông thường /usr/bin/in2csvkhá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ó!
in2csvlà 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 xlhtmltạ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 pagetitlenút mà tôi đã sử dụngxmlstarlet .
in2csvthiếu-ntù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