嗯,
libreoffice
可以从脚本中转换文档(即在无界面模式下进行转换而不打开GUI)。要将任何电子表格格式转换为CSV,最简单的形式可能如下所示。
libreoffice --convert-to csv PATH/TO/YOUR.ODS
然而,这只是提取您文档的第一页并进行转换,忽略其他所有页。可悲的是,它也缺乏选择要转换的页面的选项。
所以我们需要一个外部工具,比如
xlsx2csv。它是一个开源的Python(支持2和3版本)脚本,用于将XLSX文件转换为CSV,并支持将所有工作表提取到单独的文件中。
Ubuntu已经预装了Python,但也许你需要先安装
pip
,它是Python的包管理器。我选择使用Python 3,但你可以根据需要将下面的命令改为在Python 2上运行。
sudo apt install python3-pip
然后,您可以使用
pip3
将
xlsx2csv
安装到您的用户包目录中,使用以下命令:
pip3 install --user xlsx2csv
之后,可在
~/.local/bin/xlsx2csv
中找到可执行脚本。
现在如果你还没有以XLSX格式的文件,让我们用libreoffice将那个ODS电子表格转换一下:
libreoffice --convert-to xlsx PATH/TO/YOUR.ods
然后我们使用
xlsx2csv
来提取所有的工作表。它会创建一个名为
OUTPUTFOLDER
的文件夹,并将所有提取出来的
SHEETNAME.csv
放在其中:
~/.local/bin/xlsx2csv -a YOUR.xlsx OUTPUTFOLDER