在 Linux 中使用命令行在 Linux 中将 XLSX 转换为 CSV

XLSX 文件是现代 Microsoft Excel 电子表格的标准文件扩展名。我们使用这些文件来分析和组织数据,它们通常包含由单元格内的行和列分隔的数字数据。

另一方面,CSV 文件基本上是一个使用逗号分隔值的分隔文本文件,该文件的每一行通常是一个数据记录。

虽然 xlsx 和 csv 存储数据的格式有很大不同,因为一种使用带有行和列的表格,而另一种使用逗号来分隔值,但这并不意味着我们不能将一个转换为另一个.

有几个在线工具可以使用,但是在使用 linux 终端将 xlsx 转换为 csv 时,它比将文件上传到某处并获取 csv 作为输出要复杂一些。

我们可以使用不同的命令行应用程序来做同样的事情,我将展示两个最常用的应用程序,它们可以帮助我们使用 linux 命令行将 xlsx 转换为 csv。

第一个是 gnumeric 电子表格应用程序。gnumeric 电子表格应用程序带有一个名为 ssconvert 的命令行实用程序,我们将使用它来将 xlsx 转换为 csv。

为了使用 ssconvert,我们首先需要在本地机器上安装 gnumeric 电子表格应用程序。

对于 Ubuntu

apt-get install gnumeric

对于 Mac

brew install gnumeric

现在我们在本地机器上有了 gnumeric,下一步是使用 ssconvert 实用程序,我们就完成了。

将如下所示的命令写入终端,将a.xlsx文件转换为 b.csv

ssconvert Sample_XLSX.xlsx Sample_CSVFile.csv

应该注意的是,这两个文件都存在于我的本地环境中,您可以简单地将它们替换为您本地计算机上的任何文件。

输出结果

$ssconvert Sample_XLSX.xlsx Sample_CSVFile.csv

Using exporter Gnumeric_stf:stf_csv

现在,如果我检查在上述命令的帮助下创建的 Sample_CSVFile 的内容,我将获得以下输出 -

immukul@192 Downloads % cat SampleCSVFile_11kb.csv

1,"Eldon Base for stackable storage shelf, platinum",Muhammed MacIntyre,3,-213.25,38.94,35,Nunavut,Storage & Organization,0.8

2,"1.7 Cubic Foot Compact ""Cube"" Office Refrigerators",BarryFrench,293,457.81,208.16,68.02,Nunavut,Appliances,0.58

3,"Cardinal Slant-D? Ring Binder, Heavy Gauge Vinyl",Barry French,293,46.71,8.69,2.99,Nunavut,Binders and Binder Accessories,0.39

4,R380,Clay Rozendal,483,1198.97,195.99,3.99,Nunavut,Telephones and Communication,0.58

您可以清楚地注意到记录以逗号分隔,因此该文件是有效的。

实现上述目标的另一种方法是使用libreoffice,在这种情况下,我们只需将以下命令写入终端即可将 xlsx 文件转换为 csv。

for i in *.xlsx; do libreoffice --headless --convert-to csv "$i" ; done

上面的命令会将当前目录中存在的所有文件转换为它们的 csv 同名文件。

输出结果

命令前

immukul@192 cc % ls -ltr

total 40

-rw-r--r--@ 1 immukul staff 5425 Jul 3 11:48 Sample_XLSX.xlsx

命令后

immukul@192 cc % ls -ltr

total 16

-rw-r--r--@ 1 immukul staff 5425 Jul 3 11:48 Sample_XLSX.csv

以上是 在 Linux 中使用命令行在 Linux 中将 XLSX 转换为 CSV 的全部内容, 来源链接: utcz.com/z/347602.html

回到顶部