将.xls更改为.csv而不会丢失列

时间:2015-02-18 22:51:25

标签: csv sed terminal multiple-columns xls

我有一个包含大约400个.txt文件的文件夹,我需要转换为.csv。当我批量重命名为.csv时,所有列都被一起刷成一个。当我转换为.xls然后.csv时会发生同样的事情,即使列在.xls中很好。如果我打开.xls文件并保存为.csv,那很好,但这需要打开所有400个文件。

我正在使用mac终端上的sed。导航到包含终端内文件的文件夹后,以下是一些不起作用的代码:

for * .csv中的文件;做sed's / [[:blank:]] + /,/ g'

for * .csv中的文件;做sed -e“s / /,/ g”

for * .csv中的文件;做s / [[:space:]] /,/ g

for * .csv中的文件;做sed's / [[:space:]] {1,} /,/ g'

非常感谢有关如何将列结构还原到csv文件的任何建议。它可能已经很明显,但我是一个新的编码,所以请放轻松。谢谢!

编辑:以下是xls列的外观以及它们应如何以csv格式显示的示例:

Dotsc.exe   2/12/15 1:17 PM 0   Nothing 1   Practice

此处用空格分隔的所有内容(7和PM之间的空格除外)都由文件中的列分隔。以下是我将批处理文件重命名为.csv时的外观:

Dotsc.exe 2/12/15 1:17 PM 0没有1练习

列现在已变为空格,并且所有数据都在同一列中。希望澄清一切。

1 个答案:

答案 0 :(得分:0)

我认为你只想批量做的事是不可能的。我建议你在Java中使用一些库。

看看这里:http://poi.apache.org/spreadsheet/