gpt4 book ai didi

python - Python Spyder 控制台中的 win32com 导致错误

转载 作者:太空宇宙 更新时间:2023-11-03 11:04:34 39 4
gpt4 key购买 nike

我只是运行以下代码,直接来自 this documentation/tutorial .

import win32com.client as win32
excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Add()
wb.SaveAs('add_a_workbook.xlsx')
excel.Application.Quit()

得到这个:

  execfile(filename, namespace)
File "C:/Users/Username/Desktop/script.py", line 106, in <module>
wb = excel.Workbooks.Add()
File "C:\Users\Username\AppData\Local\Temp\gen_py\2.7\00020813-0000-0000-C000-000000000046x0x1x7\Workbooks.py", line 34, in Add
ret = self._oleobj_.InvokeTypes(181, LCID, 1, (13, 0), ((12, 17),),Template
TypeError: an integer is required

有人知道为什么吗?我试过使用 xlsx 与 xls 文件,更改文件地址,并尝试该教程中的多个示例,它们都给我类似的错误,我不知道为什么。

在收到 TypeError: an integer is required 警告之前,我可以到达 wb = excel.Workbooks.Add(),如果我尝试 wb = excel.Workbooks.Add,它将运行并且我不会收到错误,但我无法从那里做任何事情。

有人知道这是什么吗?提前致谢。

[编辑:]

我尝试了一个 word 文件进行比较,我工作正常。

有谁知道为什么其中一个有效而另一个无效?

word = win32.Dispatch('Word.Application')
word.Documents.Open('C:\Users\username\Desktop\test.docx')

excel = win32.Dispatch('Excel.Application')
excel.Workbooks.Open('C:\Users\username\Desktop\output.xlsx')

[编辑 2:]

好的,我发现问题出在 Spyder IDE 上。如果我在 Anaconda 中编写相同的代码,它会工作正常。有谁知道为什么 Anaconda 有效而 Sypder 无效?我检查了系统路径,它们是相同的,甚至尝试在 Anaconda 中执行 .py 程序也不起作用。

最佳答案

我似乎是互联网上唯一遇到此问题的人,但我的解决方法是使用不同的 spyder python 解释器。

Python 解释器 在执行几乎每个 win32com excel 命令时都给我各种错误,但 IPython 控制台 工作正常。不知道为什么。

enter image description here

关于python - Python Spyder 控制台中的 win32com 导致错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23688550/

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