我知道可以使用
也许Perl有一些选项?
in2csv
将特定的工作表保存为.csv文件:
in2csv --sheet "工作表名称" file1.xls > 工作表名称.csv
但是还有其他工具可以仅打印工作表名称吗?也许Perl有一些选项?
in2csv
将特定的工作表保存为.csv文件:
in2csv --sheet "工作表名称" file1.xls > 工作表名称.csv
但是还有其他工具可以仅打印工作表名称吗?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
。
-n
选项的in2csv
版本。很奇怪,我正在努力弄清楚如何获取最新版本,但是在处理csvkit和删除旧的in2csv
方面遇到了困难...唉。 - cshethsudo apt remove python3-csvkit
将其删除,并安装一个更新的版本,最好是从https://packages.ubuntu.com/或者https://github.com/wireservice/csvkit/tree/1.0.2下载。该功能是通过[此提交](https://github.com/wireservice/csvkit/commit/829e176929934bade37cd85dded91df3413b44db#diff-a14fd01737ab485de9d4254287a53055)引入的,标记为“1.0.2”,所以从那个版本开始的任何版本都应该具有此选项。 - dessertin2csv
的包装函数,如果使用-n
选项调用,则调用/path/to/new/in2csv
,否则调用通常的/usr/bin/in2csv
。 - dessertsudo apt remove python3-csvkit
命令,安装了更新版本,并且它起作用了。这个包装函数非常有用,没错! - csheth