在Python中打开xlsx(从开放办公室)

时间:2019-01-22 22:18:14

标签: python excel xlsx

我再次尝试从书中编写一个程序,用python自动完成无聊的工作。第266页开始使用excel工作表。我导入了示例表,该表已下载。工作了。然后我用开放式办公室创建了自己的工作表,但出现错误。这里有什么问题?文件类型和路径相同,为什么会出现错误?

编辑:我用英语下载了最新的openoffice版本(通常我会用德语)。我右键单击python文件夹并创建新文件openoffice工作表。它首先创建一个* .odt文件。我打开我将“另存为”文件并键入名称123.xlsx。它没有显示可用的文件类型xlsx,这就是为什么我直接输入名称的原因。也许那就是问题所在。但是文件被保存而没有错误并且可以正常工作,因此我也看不到其中的问题。

#code
import openpyxl    
wb = openpyxl.load_workbook('123.xlsx')

#error
Traceback (most recent call last):
  File "C:\...\Python\Python37-32\B&J_Datensatz.py", line 7, in <module>
    wb = openpyxl.load_workbook('123.xlsx')
  File "C:\...\Python\Python37-32\lib\site-packages\openpyxl\reader\excel.py", line 176, in load_workbook
    src = archive.read(ARC_CONTENT_TYPES)
  File "C:\...\Python\Python37-32\lib\zipfile.py", line 1428, in read
    with self.open(name, "r", pwd) as fp:
  File "C:\...\Python\Python37-32\lib\zipfile.py", line 1467, in open
    zinfo = self.getinfo(name)
  File "C:\...\Python\Python37-32\lib\zipfile.py", line 1395, in getinfo
    'There is no item named %r in the archive' % name)
KeyError: "There is no item named '[Content_Types].xml' in the archive"

3 个答案:

答案 0 :(得分:0)

我解决了这个问题。 我下载了libreoffice。使用该程序,我可以直接保存到* .xlsx文件。正如我所说,openoffice无法做到。谢谢大家的帮助!

答案 1 :(得分:0)

您的输入文件已损坏,

请复制输入文件并尝试。

对我有用

答案 2 :(得分:0)

当您使用 libreoffice 时,它​​会自动以 ods 格式保存。您需要打开文件并将其保存回来(这里应用程序会自动要求保存在 excel 中)并确保要保存 .xlsx