小编Rob*_*Rob的帖子

Python - 用于Tablib导入Excel(xls,xlsx)文件

我无法弄清楚如何将Excel文件导入我的Python脚本.我只有几天的Python,所以我猜这是非常明显的我缺少的东西.我正在使用Python 3和tablib模块.从tablib网站上的例子中,我已经研究出如何以xls格式保存文件

    def saveXLS(self, name, data):        
        # Form the dataset with the accompanying headers
        dataTab =  tablib.Dataset()
        dataTab.headers = data[0][:]

        for i in range(1,len(data)):
            dataTab.append(data[i][:])

        with open(self.saveDir + name + ".xls", 'wb') as f:
            f.write(dataTab.xls)     
Run Code Online (Sandbox Code Playgroud)

(我知道循环是可怕的和非Pythonic,但重要的是我现在得到的结果,因为它的工作).目前,我打开Excel工作簿并将其保存为文本文件(我应该指出,我的所有数据都是制表符分隔的,包括字符串,即使是数字).

我打开它就像这样

    def loadTxt(self,name, fileType, data):
            if( fileType == "txt"):            
                with open(self.currentWorkingDir + "\\" + name + ".txt",'r') as f:
                    reader=csv.reader(f,delimiter='\t')
                    for X in reader:
                        data.append(X)
Run Code Online (Sandbox Code Playgroud)

我尝试在tablib网站(http://tablib.readthedocs.org/en/latest/api/)上复制"dbf"示例以获取

    def loadXLS(self):
            self.data = tablib.Dataset()
            self.data = open('Data.xlsx').read()
            return self.datav
Run Code Online (Sandbox Code Playgroud)

我得到一个错误(正如我所料,因为我把它从我的屁股中拉出来)

UnicodeDecodeError:'charmap'编解码器无法解码位置637中的字节0x8f:字符映射到.

我真的不知道如何解决这个问题,所以任何建议都会非常感激.

python import excel

3
推荐指数
2
解决办法
7406
查看次数

标签 统计

excel ×1

import ×1

python ×1