📜  在 Linux CLI 上将 xlsx 格式文件转换为 CSV 的方法

📅  最后修改于: 2022-05-13 01:57:26.544000             🧑  作者: Mango

在 Linux CLI 上将 xlsx 格式文件转换为 CSV 的方法

XLSX是 Microsoft Excel 使用的 Open XML 电子表格文件格式的格式/文件扩展名。通过命令行将 xlsx 转换为 csv(逗号分隔文件)很容易。这里有几种将 xlsx 转换为 csv 格式的方法。

Gnumeric 电子表格程序

它是一个基于 GNOME 的程序,是一个电子表格应用程序,它复制了流行的商业程序(如 Excel)的基本功能。它可以从多种格式导入和导出数据,包括 CSV、Microsoft Excel、HTML、OpenDocument、Quattro Pro 和 LaTeX。

要在 Linux 中安装 Gnumeric,请使用 apt-get 命令通过 Linux 终端安装 Gnumeric 存储库。

$ sudo apt-get install gnumeric

在 Linux CLI 上将 xlsx 格式文件转换为 CSV 的方法

现在使用 Gnumeric 的ssconvert命令将 xlsx 格式转换为 csv 格式来转换文件。



$ ssconvert --export-type=Gnumeric_stf:stf_csv SampleData.xlsx convert.csv

使用cat命令查看文件内容,查看csv文件。

在 Linux CLI 上将 xlsx 格式文件转换为 CSV 的方法

xlsx2csc 转换器

XLSX/XLS文件转换为CSV格式的Python应用程序。还可以选择从数据转换特定工作表或所有工作表。 xlsx2csv 具有一次导出所有工作表的功能。

要安装 xlsx2csv Python应该安装在 Linux 机器上。

pip install xlsx2csv

或者我们可以在 apt-get 命令的帮助下在 Linux 终端中安装它,因为 Kali Linux 已经预先安装了软件包,

$ sudo apt install xlsx2csv

在 Linux CLI 上将 xlsx 格式文件转换为 CSV 的方法

现在将文件从 xlsx 转换为 csv 并查看内容:

xlsx2csv file_name.xlsx > New_file.csv

在 Linux CLI 上将 xlsx 格式文件转换为 CSV 的方法



在这里我们看到 xlsx2cv 只转换了一张工作表,但我们的工作表有多个工作表,所以要将它们全部转换为 csv,xlsx2csv 转换器有许多参数来转换文件/工作表。

  • -a, –all –导出所有工作表
  • -d – csv 中列分隔符的分隔符
  • -p – 用于分隔工作表的工作表分隔符的 SHEETDELIMITER,通过
  • -s – 要转换的工作表编号的 SHEETID
$ xlsx2csv SampleData.xlsx --all > Output.csv

要转换文件中的所有工作表,请执行以下命令,在查看文件内容时,我们看到有 4 个工作表(工作表 1:说明,工作表 2:销售订单,工作表 3:样品编号和工作表 4:我的链接)正在从 xlsx 转换为 csv 格式

在 Linux CLI 上将 xlsx 格式文件转换为 CSV 的方法

csvkit工具

该工具是一个Python库,用于处理 csv 文件,我们可以使用它来操作、组织和分析数据。使用工具 in2csv 执行转换文件。该工具轻便且用户友好。使用下面给出的命令从 Linux CLI 安装 csvkit 工具,

$ sudo apt install csvkit

在 Linux CLI 上将 xlsx 格式文件转换为 CSV 的方法

通过执行以下命令将 xlsx 文件转换为 csv:

$ in2csv SampleData.xlsx > sample.csv

在 Linux CLI 上将 xlsx 格式文件转换为 CSV 的方法

使用 cat 命令查看文件内容:

$ cat sample.csv

在 Linux CLI 上将 xlsx 格式文件转换为 CSV 的方法

unoconv

一个用于转换办公文档文件格式的命令行程序。它还使用 LibreOffice 进行转换,它可以导入到 LibreOffice 能够导出的任何文件格式。要在 Linux 机器上安装,请使用以下命令,



$ sudo apt install unoconv

将 Microsoft Excel 文件转换为 csv 格式,我们执行或运行下面给出的命令,该命令能够转换多种文件格式。这也意味着它表示我们要将文件转换为所需的格式,提及使用以下参数的输出格式。

$ unoconv -f csv -o data.csv SampleData.xlsx

unoconv 选项:

  • -f, --format=format:指定输出格式
  • -o, –output=name:输出基名、文件名或目录

查看内容或检查输出文件是否已成功转换文件,我们使用 cat 命令

$ cat data.csv

LibreOffice 无头

一个允许LibreOffice无头标志的帮助下在命令行中工作的包允许应用程序在没有用户界面的情况下工作它的工作原理是将单个或一组文件从一种格式转换为另一种格式。我们可以直接从 CLI 使用它,不需要安装 LibreOffice。指示您希望使用–convert-to参数获得的输出文件格式 (csv),然后是用于转换的文件,如下所示。此后使用ls 命令检查 xlsx 格式的输出文件

$ libreoffice --headless --convert-to csv --outdir conv/ SampleData.xlsx

使用 cat 命令查看文件内容:

$ cat conv/SampleData.csv