- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在安装了 pywin32-216.win32-py2.7 的 Python 2.7.2 下,当我使用 win32com 模块在 Windows 上处理 Excel 时,如下所示:
>>> import win32com.client
>>> xlsApp = win32com.client.Dispatch('Excel.Application')
>>> xlsApp.Workbooks.Open(r'D:/test.xls')
我收到错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<COMObject <unknown>>", line 8, in Open
pywintypes.com_error: (-2147352567, '\xb7\xa2\xc9\xfa\xd2\xe2\xcd\xe2\xa1\xa3',
(0, u'Microsoft Office Excel', u'\u540d\u4e3a\u201ctest.xls\u201d\u7684\u6587\u6
863\u5df2\u7ecf\u6253\u5f00\u3002\u4e0d\u80fd\u540c\u65f6\u6253\u5f00\u540c\u540
d\u6587\u4ef6\uff0c\u65e0\u8bba\u5b83\u4eec\u662f\u5426\u5728\u540c\u4e00\u6587\
u4ef6\u5939\u4e2d\u3002\n\u8981\u6253\u5f00\u7b2c\u4e8c\u4efd\u6587\u6863\uff0c\
u8bf7\u5173\u95ed\u5df2\u7ecf\u6253\u5f00\u7684\u6587\u6863\uff0c\u6216\u8005\u9
1cd\u65b0\u547d\u540d\u5176\u4e2d\u7684\u4e00\u4e2a\u6587\u6863\u3002', None, 0,
-2146827284), None)
虽然信息不可读,但我不知道出了什么问题!
在互联网上搜索后,我发现了一些有用的信息:http://www.python-forum.org/pythonforum/viewtopic.php?f=15&t=17665 :
pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, u'Microsoft Office Excel', u"'test .xls' could not be found. Check the spelling of the file name, and verify that the file location is correct.\n\nIf you are trying to open the file from your list of most recently used files on the File menu, make sure that the file has not been renamed, moved, or deleted.", u'C:\Program Files\Microsoft Office\OFFICE11\1033\xlmain11.chm', 0, -2146827284), None)
我猜这是同样的问题,所以我先创建一个Excel文件'D:/test.xls',然后一切就OK了:
>>> xlsApp.Workbooks.Open(r'D:/test.xls')
<COMObject Open>
如果我得到可读的错误提示,我会立即解决问题,没有任何困难!
我想知道为什么我从 win32com.client 收到这样的错误?我可以做些什么来使信息可读吗?
我将感谢您的帮助!
最佳答案
我想它会这样出现,因为您正在远东亚洲(也许是中国?)的某个地方使用国际化设置,并且您在命令提示符中使用Python。我不确定问题是否出在 Python、命令提示符或两者的组合上,但无论哪种方式,这两者的组合在非拉丁国际化设置中都不能很好地工作。
我建议使用 IDLE相反,因为它似乎可以正确支持 Unicode 字符。以下是我在 IDLE 中查看最后一个字符串时发生的情况。这段文字对我来说没有任何意义,但可能对你有帮助:
IDLE 2.6.4 >>> z = u'\u540d\u4e3a\u201ctest.xls\u201d\u7684\u6587\u6863\u5df2\u7ecf\u6253\u5f00\u3002\u4e0d\u80fd\u540c\u65f6\u6253\u5f00\u540c\u540d\u6587\u4ef6\uff0c\u65e0\u8bba\u5b83\u4eec\u662f\u5426\u5728\u540c\u4e00\u6587\u4ef6\u5939\u4e2d\u3002\n\u8981\u6253\u5f00\u7b2c\u4e8c\u4efd\u6587\u6863\uff0c\u8bf7\u5173\u95ed\u5df2\u7ecf\u6253\u5f00\u7684\u6587\u6863\uff0c\u6216\u8005\u91cd\u65b0\u547d\u540d\u5176\u4e2d\u7684\u4e00\u4e2a\u6587\u6863\u3002'>>> print z名为“test.xls”的文档已经打开。不能同时打开同名文件,无论它们是否在同一文件夹中。要打开第二份文档,请关闭已经打开的文档,或者重新命名其中的一个文档。>>>
但是,即使使用 IDLE,当您遇到异常时,文本仍然会像上面那样显示。如果发生这种情况,您需要做的是从最后引发的异常中获取数据,并从其中打印
相关字符串。
要获取解释器中引发的最后一个异常,您可以使用 sys.last_value
。下面是一个包含不同异常消息的示例:
>>> import sys>>> with open('nonexistent.txt') as f: pass...Traceback (most recent call last): File "", line 1, in with open('nonexistent.txt') as f: passIOError: [Errno 2] No such file or directory: 'nonexistent.txt'>>> sys.last_valueIOError(2, 'No such file or directory')>>> print(sys.last_value[1])No such file or directory>>>
关于python - 为什么pywintypes.com_error的信息无法读取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7544587/
今天突然出现以下错误。 import win32com.client xl=win32com.client.Dispatch("Excel Application") Traceback (most
我在使用 Python 编写脚本时遇到以下错误。 错误2010年1月19日星期二14:51:21 C:\Python24\Lib\site-packages\win32com\client\util.
import time from win32com import client from win32com.client import constants as c import os wb = xl
我的以下代码片段运行良好。它创建一个图表并将其类型设置为 xlLine chart = ws.Shapes.AddChart().Select() xl.ActiveChart.ChartType =
我想做的就是打开一个 .xlsm 文件,运行宏,保存工作簿,然后退出。理想情况下,我可以将宏作为变量传递,因为不同的情况会运行位于同一工作簿中的不同宏。这是到目前为止的代码。 import os, s
我在这里使用用户 Augustin 发布的解决方案:very quickly getting total size of folder folderPath = r"C:\Users\e46ldc\D
我正在尝试使用 pyrtd Python获取信息的模块,可以通过RTD在Excel中获取信息。 但是,当我尝试运行 sample python script ,我收到以下错误: pywintypes.
有没有人可以提供在 excel 中创建数据透视图的示例代码?我有一个使用数据透视表创建数据透视表的示例,它有效,而当我尝试以相同的方式创建数据透视图时,它总是失败! import win32com.c
我需要从三个 Excel 文件复制数据并粘贴到三个不同的 Excel 文件中。 Error: ('F', 'C:\\Users\\jmp655972\\Desktop\\SOFTWARE D
我在运行模块 gasprop 时遇到此错误。我不明白错误的含义以及如何解决它: import gasprop Traceback (most recent call last): File "", l
我改编了以下代码发现here在我现有的 Excel 工作表中创建数据透视表: import win32com.client as win32 win32c = win32.constants impo
当我尝试按原样运行此代码时,出现此错误“IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_ID
我正在使用 python 在 word 中打开一个 word 文档并尝试使用 this 转换它在 StackOverflow 上回答。 我的 python 代码: import win32com.cl
我正在尝试使用 xlwings 将数据验证添加到 Excel 工作表范围: def set_validation(rng): """Add data validation to the giv
我正在使用 Excel 和 xlwings。我有一个 book.xlsm,在第一张纸上有一个分配给以下 vba 代码的按钮: book.xlsm!ThisWorkbook.get_data 在 VBA
我正在使用 Python 3.2.2,并构建了一个 Tkinter 界面来进行一些 Active Directory 更新。我在尝试处理 pythoncom.com_error 异常时遇到问题。 我从
我打开了一个 Excel,其中包含 RTD 流数据(来自交易平台的财务数据)。我的目标是通过Python读取数据并在数据发生变化时立即保存。目标是捕捉每一毫秒。我正在使用 xlwings 读取单元格值
从 excel 表生成 pdf 时出现以下错误: ws.ExportAsFixedFormat(0, save_as) File ">", line 5, in ExportAsFixedForm
我正在使用 Excel、Python 和 Visio,当我运行这个简单的代码时,出现错误 com_error: (-2147023174, 'The RPC server is unavailable
我是从创建的示例 http://docs.xlwings.org/en/stable/vba.html/Python 3.5.1 |Anaconda 2.5.0(32 位)| (默认,2016年1月2
我是一名优秀的程序员,十分优秀!