Answers:
in2csv
从csvkit
软件包中提供的--names
或-n
选项:[ 源 ]
-n, --names Display sheet names from the input Excel file.
在您的示例中,命令为:
in2csv -n file1.xls
此功能是在csvkit
1.0.2 中添加的,对于比Bionic更早的发行版,不能从官方软件包中获得此功能。如果您正在运行Xenial,则需要
通过安装它pip
与
sudo pip install csvkit
获取最新版本。
sudo apt remove python3-csvkit
并安装一个更新的版本,最好是从packages.ubuntu.com或从github.com/wireservice/csvkit/tree/1.0.2中安装。该功能是在推出该提交标记为“1.0.2”,所以从任何版本上应该有这个选项。
in2csv
是/path/to/new/in2csv
如果使用-n
选项和通常的/usr/bin/in2csv
其他方法调用,则调用。
sudo apt remove python3-csvkit
,安装了较新的版本,并且可以正常工作。包装函数非常有用,是的!
in2csv
是更简单的选项,但是如果有人觉得它有用,我将保留它。有一个很好的命令,xlhtml
用于将XLS文件转换为HTML或XML。一旦有了XML,便可以使用各种XML处理工具对其进行各种查询。在这种情况下:
$ xlhtml -xml ~/foo.xls | xmlstarlet sel -t -m '//pagetitle' -v . -n
Sheet1
Sheet2
xlhtml
生成的XML 如下所示:
<?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>
因此,对于工作表名称,我们可以查询我使用的pagetitle
节点。xmlstarlet
in2csv
缺少-n
选项的版本。很奇怪,试图弄清楚如何获取最新版本,但在使用csvkit时遇到了麻烦,并删除了较旧的版本in2csv
...感叹