gpt4 book ai didi

Python - 使用 tablib 导入 Excel(xls、xlsx)文件

转载 作者:太空宇宙 更新时间:2023-11-03 12:24:08 26 4
gpt4 key购买 nike

我无法弄清楚如何将 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,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)

我尝试复制 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]

关于Python - 使用 tablib 导入 Excel(xls、xlsx)文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25850410/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com