Python – 用于Tablib导入Excel(xls,xlsx)文件
发布时间:2020-12-20 12:07:13 所属栏目:Python 来源:网络整理
导读:我无法弄清楚如何将Excel文件导入我的 Python脚本.我只有几天的Python,所以我猜这是非常明显的我缺少的东西.我正在使用Python 3和tablib模块.从tablib网站上的例子中,我已经研究出如何以xls格式保存文件 def saveXLS(self,name,data): # Form the dataset wi
我无法弄清楚如何将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) (我知道循环是可怕的和非Pythonic,但重要的是我现在得到的结果,因为它的工作).目前,我打开Excel工作簿并将其保存为文本文件(我应该指出,我的所有数据都是制表符分隔的,包括字符串,即使是数字). 我打开它就像这样 def loadTxt(self,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) 我试图在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 我得到一个错误(正如我所料,因为我从我的屁股中取出它) UnicodeDecodeError:’charmap’编解码器无法解码位置637中的字节0x8f:字符映射到. 我真的不知道如何解决这个问题,所以任何建议都会非常感激. 解决方法
您现在可能已经想到了它,但对于下一个人,您需要将Excel文件读为二进制文件:
my_input_stream = open("my_file.xlsx","rb") my_dataset = tablib.import_set(my_input_stream) dataset[1:5] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |