如何自动将excel文件的类型从制表符空格分隔的文本更改为xls文件



我有一个excel文件,其扩展名为.xls但其类型为制表符空格分隔文本

当我试图用MS Excel打开文件时,它会告诉我扩展名是假的。所以我必须确认我信任这个文件,这样我就可以阅读了。

但我真正的问题是,当我试图通过xlrd库读取我的文件时,它会给我以下信息:

xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF record;

因此,为了解决这个问题,我在MS Excel中转到另存为,然后手动将类型更改为.xls.

但我的老板坚持认为我必须通过代码来做到这一点。我有三个选择:Linux下的Shell脚本Windows下的.bat文件Python

那么,我如何通过Shell脚本(命令行)、.bat或Python将excel文件的类型从Tab空格分隔的Text更改为xls文件呢

mv文件。{xls,csv}

这是一个csv文件,不要再把它当作excel文件了,一切都会好得多。:)大多数语言中都有不错的csv操作工具。你真的需要excel库吗?

文件的real类型由文件的内容决定,而不是由文件的名称决定。xlrd根本不在乎名称,它在乎内容,所以xlrd不是你的问题,它甚至与你的任务无关。

我不知道你说的"制表符分隔文本"是什么意思。这些值是否用't '(制表符后面跟着空格)分隔?有时是制表符,有时是空格?

如果分隔符是常量,只需使用Python的csv模块。如果分隔符是空白,并且数据不包含空白,则可以使用Python的split()字符串方法。如果分隔符不同,可以出现在数据中,那么你将不得不写一些更花哨的东西来解析它。

在任何情况下,一旦读取了数据,要写出real.xls文件,最好的Python选项是xlwt模块。

最新更新