请问怎么读一个2007的office,word文件?

发布于 2022-10-15 09:18:17 字数 1108 浏览 27 评论 0

自己尝试的代码不对,能不能给一个实际例子,代码

我的代码是:

  1. #coding:utf-8
  2. import win32com.client
  3. import os
  4. w = win32com.client.Dispatch('Word.Application')
  5. w.Visible = 0
  6. w.DisplayAlerts = 0
  7. doc=w.Documents.Open(os.path.join(os.getcwd(),'2.doc')) # 见注释一
  8. #doc=w.Documents.Add()
  9. raw_input('f')

复制代码但是错误提示是:Traceback (most recent call last):
  File "G:\data\临床路径\临床路径\概述\新建 文本文档.py", line 8, in <module>
    doc=w.Documents.Open(os.path.join(os.getcwd(),'2.doc')) # 瑙佹敞閲婁竴
  File "<COMObject <unknown>>", line 8, in Open
com_error: (-2147352567, '\xb7\xa2\xc9\xfa\xd2\xe2\xcd\xe2\xa1\xa3', (0, u'Microsoft Word', u'\u627e\u4e0d\u5230\u8be5\u6587\u4ef6\u3002\r (G:\\data\\\u4e34\u5e8a\u8def\u5f84\\\u4e34\u5e8a\u8def\u5f84\\\u6982\u8ff0\\2.doc)', u'C:\\Program Files\\Microsoft Office\\Office12\\2052\\WDMAIN11.CHM', 24654, -2146823114), None)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

煮茶煮酒煮时光 2022-10-22 09:18:17

回复 1# wqjwftcaqr

网上抄的代码还是不行!~

  1. # -*- coding: utf-8 -*-
  2. import win32com.client
  3. import win32com.client.dynamic
  4. def ReadWrod(fileName):
  5.     app  = win32com.client.Dispatch("Word.Application")
  6.     #app.Visible = True
  7.     app.Documents.Open(fileName)#開啟舊檔
  8.     #app.Documents.Add(filename)#New 一個新檔
  9.     return app
  10. ab=ReadWrod('1.doc')
  11. raw_input('f')

复制代码>>>
Traceback (most recent call last):
  File "G:\data\临床路径\临床路径\概述\新建 文本文档.py", line 11, in <module>
    ab=ReadWrod('1.doc')
  File "G:\data\临床路径\临床路径\概述\新建 文本文档.py", line 8, in ReadWrod
    app.Documents.Open(fileName)#闁嬪暉鑸婃獢
  File "<COMObject <unknown>>", line 8, in Open
com_error: (-2147352567, '\xb7\xa2\xc9\xfa\xd2\xe2\xcd\xe2\xa1\xa3', (0, u'Microsoft Word', u'\u627e\u4e0d\u5230\u8be5\u6587\u4ef6\u3002\r ("C:\\Documents and Settings\\...\\1.doc")', u'C:\\Program Files\\Microsoft Office\\Office12\\2052\\WDMAIN11.CHM', 24654, -2146823114), None)

内心荒芜 2022-10-22 09:18:17

本帖最后由 playboysen 于 2011-04-18 21:04 编辑

问题的症结是python 2.X(从你使用的raw_input函数可以看出来)的中文字符处理问题

app.Documents.Open(fileName)其中filename包含中文字符串,Python 2.X处理中文有很多麻烦
比如要encode decode等等

建议操作office选用Python 3.X,完美解决你遇到的一切问题(除了第三方模块稍微少一些)

喜爱纠缠 2022-10-22 09:18:17

中文编码的问题

只等公子 2022-10-22 09:18:17

回复 3# playboysen

    filename,不就是'1.doc'吗?没有中文啊!~?

执手闯天涯 2022-10-22 09:18:17

回复 5# wqjwftcaqr

把1.doc放在C盘根目录,然后测试如下
app.Documents.Open(r"C:\1.doc")

所谓路径,指的是绝对路径。
你说的“1.doc”只是相对路径,脚本运行不会自动打开脚本目录文件的

虐人心 2022-10-22 09:18:17

回复 6# playboysen

    你说的对,很有可能问题就出在这里,我一直以打开txt的方式来打开,也就是你说的相对路径都能用,但在这些word文档看来就不行了,谢谢

咋地 2022-10-22 09:18:17

Word启动之后,它的当前工作目录不是Python的当前工作目录。用绝对路径打开文档。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文