В Python 2.7.2 с установленным pywin32-216.win32-py2.7, когда я использую модуль win32com для обработки Excel в Windows следующим образом:
>>> 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, «Возникло исключение.», (0, u'Microsoft Office Excel ', u "«test .xls» не найден. Проверьте правильность имени файла и убедитесь, что местоположение файла указано правильно. \ n \ nЕсли вы пытаетесь открыть файл из списка последних использованных файлов в меню «Файл», убедитесь, что файл не был переименован, перемещен или удален. ", u'C: \ Program Files \ Microsoft Office \ OFFICE11 \ 1033 \ xlmain11.chm ', 0, -2146827284), нет)
Я полагаю, это та же проблема, поэтому я сначала создаю файл Excel 'D: /test.xls', а затем всеns ok:
>>> xlsApp.Workbooks.Open(r'D:/test.xls')
<COMObject Open>
Если бы я получил читаемый совет об ошибке, я бы немедленно решил эту проблему без каких-либо трудностей!
Интересно, почему я получаю ошибку от win32com.client??Могу ли я что-нибудь сделать, чтобы информация стала читабельной?
Буду признателен за вашу помощь!