我的任务是将一系列表格从.doc
和转换.docx-files
为.xls
,
但是还没有设法找到一种有效的方法来做到这一点。表格可能位于其他文本之间。
我已经查看pywin32, xlwt
了其他几个库,但似乎我必须经历很多步骤。
*.doc/*.docx
此表转换为文件的任何提示*.xls
?
我假设您有太多要复制/粘贴的文档,并为内部使用寻求实用的解决方案。这个解决方案:
在 Word 中创建一个宏,如下所示:
Sub BatchSaveAs()
' Set output_dir appropriately
ChangeFileOpenDirectory "output_dir"
outDocName = Left(ActiveDocument.Name, Len(ActiveDocument.Name) - 4) & ".xls"
ActiveDocument.SaveAs FileName:=outDocName, FileFormat:= _
wdFormatFilteredHTML, LockComments:=False, Password:="", AddToRecentFiles _
:=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
:=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
SaveAsAOCELetter:=False
ActiveWindow.View.Type = wdWebView
Application.Quit SaveChanges:=wdDoNotSaveChanges
End Sub
现在您可以通过一个脚本以批处理模式运行 Word,该脚本为每个输入文件调用它:
winword file_name /mBatchSaveAs
(您可能需要使用完整路径名)
如果打开 HTML / Excel 文件的警告不正确,您可以编写一个小 Python 脚本以批处理模式运行 Excel。这显示了如何在 Python 中运行 Excel:
我发现一些有用的技巧:使用 finally 进行清理;您需要的代码看起来像 VBA 代码,如果您不擅长 VBA,请录制一个宏来执行您想要的操作并针对 Python 语法进行修改。