我的任务是将一系列表从.doc
和.docx-files
转换为.xls
,
但是还没有找到一种有效的方法来做到这一点。表格可能介于其他文本之间。
我已经查看了pywin32, xlwt
和其他几个库,但似乎我必须经历很多步骤。
此表格从*.doc/*.docx
转换为*.xls
文件的任何提示?
答案 0 :(得分:0)
我假设你有太多的文件要复制/粘贴,并寻求一个实用的解决方案供内部使用。这个解决方案:
在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:
Python com between python and excel
我觉得有用的一些技巧:最后用于清理;您需要的代码看起来像VBA代码,如果您不擅长VBA,请记录一个宏来执行您想要的操作并修改Python语法。