1

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

当我从我的曲目中键入此命令时

. xls for i in *; do libreoffice --headless --unaccept=accept-string --convert-to csv "$i"; done

它返回一个带有分隔符的文件","

例子:

"foo", "tati" 

代替

toto; tati

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

操作系统 Debian 7.5

谢谢您的帮助。

4

2 回答 2

1

如果答案是否定的,您可以使用 tr 将逗号更改为分号,但这假设两者都不会出现在您的数据本身中,因此这不是通用解决方案。

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

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

于 2014-07-04T17:19:42.233 回答
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
于 2014-07-04T19:41:10.467 回答