我正在寻找在Linux上将xlsx文件转换为csv文件的方法。
由于我需要处理数百万行数据,因此我不想使用PHP / Perl或类似的东西,我需要一个快速的解决方案。我在Ubuntu仓库中找到了一个叫做xls2csv的程序,但它只能转换xls(Office 2003)文件(我目前在使用),但我需要支持更新的Excel文件。
有什么好的建议吗?
我正在寻找在Linux上将xlsx文件转换为csv文件的方法。
由于我需要处理数百万行数据,因此我不想使用PHP / Perl或类似的东西,我需要一个快速的解决方案。我在Ubuntu仓库中找到了一个叫做xls2csv的程序,但它只能转换xls(Office 2003)文件(我目前在使用),但我需要支持更新的Excel文件。
有什么好的建议吗?
正如其他人所说,可执行文件libreoffice
可以将Excel文件(.xls)转换为CSV。 对我来说问题在于工作表的选择。
这个LibreOffice Python脚本可以很好地将单个工作表转换为CSV。
使用方法如下:
./libreconverter.py File.xls:"Sheet Name" output.csv
唯一的缺点(对我来说)是--headless
似乎不起作用。我有一个LibreOffice窗口出现了一秒钟,然后就退出了。
这对我来说没关系;这是唯一能快速完成工作的工具。
您可以使用脚本getsheets.py。首先添加依赖项:
pip3 install pandas xlrd openpyxl
然后调用脚本:python3 getsheets.py <file.xlsx>