将.XLS转换为CSV

时间:2014-07-04 15:23:44

标签: linux bash shell libreoffice libreoffice-calc

我有一个xls文件,我想将其转换为带分隔符的CSV。 ;

当我从我的曲目

中输入此命令时
. xls for i in *; do libreoffice --headless --unaccept=accept-string --convert-to csv "$i"; done

它返回带有分隔符","

的文件

示例:

"foo", "tati" 

而不是

toto; tati

我的问题:libreoffice的分隔符;没有选项吗?

OS Debian 7.5

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

如果答案结果为否,则可以使用tr将逗号更改为分号,但这样做 假设您的数据本身都没有出现,因此它不是一般解决方案。

在libreoffice网站上查看类似的问题:

http://ask.libreoffice.org/en/question/21916/cli-convert-ods-to-csv-with-semicolon-as-delimiter/

答案 1 :(得分:0)

另一个选择是如果找不到LibreOffice解决方案,只需使用sed对文件进行后处理。例如,如果转换中的数据文件是out.csv并且它包含您要删除的引号和逗号并更改为分号,则可以执行以下操作:

sed -i 's/["]//g' out.csv    # strips all double-quotes
sed -i 's/[,]/;/g' out.csv  # convert all commas to semi-colons