将Microsoft Excel工作表(XLS文件)转换为逗号分隔文件(CSV)在使用Office产品时相对来说非常简单,但程序员在命令行中可能是一项繁琐的任务。当您使用XLS文件时,可能会出现这种情况,并且您需要在格式化数据后填写数据库。将XLS转换为CSV是理想的方式,因为CSV是可以容易地以任何语言操作的格式,无论是Shell,Perl,Ruby,Python还是Java。在这篇文章中,我们将看到将XLS文件转换为CSV的最佳方法,我们还将讨论使用这些方法的专业和缺点。
catdoc(C)
我们要谈的第一个命令行工具是catdoc。该工具用C写成V.B.瓦格纳。
1.1如何安装it:
从这里下载工具。转到您的下载目录并解压缩。您可以使用以下命令(万一遇到问题):
gunzip catdoc-0.94.2.柏油。gz tar xvf catdoc-0.94.2.tar
现在我们有一个catdoc-0.94.2目录。进入该目录,并运行以下命令来安装它.:
./ configure make make install
安装是一个简单的过程,你不应该在这里遇到任何问题。
1.2如何使用it:
有几个选项来运行命令。一世这些选项用于指定在源文件中使用哪个字符编码,以及目标文件的字符编码方式。这里我使用了cpl1252这是Microsoft字符编码和8859-1,它用于西欧字符编码。您可以使用help命令使用可用的其他选项。
xls2csv --help1.3优点和缺点:
Pros:直接安装
Cons:在多个页面方案中没有选择性转换,它覆盖了xls文件中存在的所有工作表(一个解决方法是在每个工作表中显式指定页脚,然后在命令中使用选项-b),问题几乎没有欧洲字符,日期字段的问题(日期字段混乱了大时间),与报价混淆。
xls2csv(在Perl中)
我们要讨论的第二个工具是Ken Prows在Perl中编写的Perl脚本xls2csv。
2.1如何安装it:
在这里下载脚本。Gunzip和tar就像我们在上一节中所做的那样,去提取的目录,并使用以下命令安装它.:
perl Makefile。PL make make test make install
记住这个Perl脚本使用一些其他Perl模块:
Locale::Recode Unicode::Map Spreadsheet::ParseExcel Text::CSV_XS
在安装xls2csv时,会给出所提到的perl模块尚未安装的错误。它会要求您下载模块。询问时下载并安装这些模块。所有这些模块安装都需要root权限。如果您没有root权限,那么您应该按照此处给出的说明来安装Perl模块。
2.2如何使用it:
以下命令可用于将Microsoft Excel转换为csv:
xls2csv -x我们使用与以前的工具相同的字符编码。
2.3优点和cons:
Pros:好的西欧字符转换和日期字段,支持选择性多页转换,
Cons:几个Perl模块需要安装,第一个单元格不应该是空的(否则它跳过整个行),混淆引号
有几个其他方式也是如此。Python和Java中的一些脚本也可以使用,但它们不如这里讨论的两个。我希望文章解决你的问题。问题和建议始终受到欢迎。干杯:)
.