Форум сайта python.su
Добрый день
Решил поковырять библиотеку win32com на предмет работы с excel
from win32com.client.dynamic import Dispatch
o = Dispatch("Excel.Application")
o.Workbooks.Open("C:/data.xls")
[Window Title]
Error
[Content]
com_error: (-2147352567, '\xce\xf8\xe8\xe1\xea\xe0.', (0, u'Microsoft Excel', u'\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043d\u0430\u0439\u0442\u0438 "C:/data.xls". \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0432\u0432\u043e\u0434\u0430 \u0438\u043c\u0435\u043d\u0438 \u0438 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u0430.\n\n\u041f\u0440\u0438 \u043f\u043e\u043f\u044b\u0442\u043a\u0435 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u044f \u0444\u0430\u0439\u043b\u0430 \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430 \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0444\u0430\u0439\u043b \u043d\u0435 \u0431\u044b\u043b \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d, \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d \u0438\u043b\u0438 \u0443\u0434\u0430\u043b\u0435\u043d.', u'xlmain11.chm', 0, -2146827284), None)
[OK]
Офлайн
А прочитать ошибку не пробовали?
У меня получилось:
Не удалось найти “C:/data.xls”. Проверьте правильность ввода имени и расположения файла.
При попытке открытия файла из списка недавно использованных файлов убедитесь, что файл не был переименован, перемещен или удален.
Офлайн
Андрей СветловСпасибо, ошибку исправил - поделись чем кодировал?
А прочитать ошибку не пробовали?
У меня получилось:
Не удалось найти “C:/data.xls”. Проверьте правильность ввода имени и расположения файла.
При попытке открытия файла из списка недавно использованных файлов убедитесь, что файл не был переименован, перемещен или удален.
Офлайн
>>> u = u'\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043d\u0430\u0439\u0442\u0438 "C:/data.xls". \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u043f\u04
40\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0432\u0432\u043e\u0434\u0430 \u0438\u043c\u0435\u043d\u0438 \u0438 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0
436\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u0430.\n\n\u041f\u0440\u0438 \u043f\u043e\u043f\u044b\u0442\u043a\u0435 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u044f \u0
444\u0430\u0439\u043b\u0430 \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430 \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u
0430\u043d\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0444\u0430\u0439\u043b \u043d\u043
5 \u0431\u044b\u043b \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d, \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d \u0438\u043b\u0438 \u0443\u
0434\u0430\u043b\u0435\u043d.'
>>> print u
Не удалось найти "C:/data.xls". Проверьте правильность ввода имени и расположения файла.
При попытке открытия файла из списка недавно использованных файлов убедитесь, что файл не был переименован, перемещен или удален.
>>> print u.encode('utf-8')
Не удалось найти "C:/data.xls". Проверьте правильность ввода имени и расположения файла.
При попытке открытия файла из списка недавно использованных файлов убедитесь, что файл не был переименован, перемещен или удален.
>>>
Офлайн
Андрей СветловВсё как всегда просто - спасибо!У меня линукс, кодировка по умолчанию utf-8.>>> u = u'\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043d\u0430\u0439\u0442\u0438 "C:/data.xls". \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u043f\u04
40\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0432\u0432\u043e\u0434\u0430 \u0438\u043c\u0435\u043d\u0438 \u0438 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0
436\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u0430.\n\n\u041f\u0440\u0438 \u043f\u043e\u043f\u044b\u0442\u043a\u0435 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u044f \u0
444\u0430\u0439\u043b\u0430 \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430 \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u
0430\u043d\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0444\u0430\u0439\u043b \u043d\u043
5 \u0431\u044b\u043b \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d, \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d \u0438\u043b\u0438 \u0443\u
0434\u0430\u043b\u0435\u043d.'
>>> print u
Не удалось найти "C:/data.xls". Проверьте правильность ввода имени и расположения файла.
При попытке открытия файла из списка недавно использованных файлов убедитесь, что файл не был переименован, перемещен или удален.
>>> print u.encode('utf-8')
Не удалось найти "C:/data.xls". Проверьте правильность ввода имени и расположения файла.
При попытке открытия файла из списка недавно использованных файлов убедитесь, что файл не был переименован, перемещен или удален.
>>>
На Windows нужно исправить на cp1251 для GUI и cp866 для консоли, если ничего не путаю
Офлайн