2013-07-11 43 views
0

我任務是一系列表從.doc.docx-files.xls轉換,Python的 - 從.DOC/.DOCX,文件轉換表爲.xls

但沒有設法找到一個有效的方式做到這個。這些表格可能位於其他文字之間。

我已經看過pywin32, xlwt和其他一些庫,但似乎我必須經歷很多步驟。

此錶轉換從*.doc/*.docx*.xls文件的任何提示?

回答

0

我假設你有太多的文件複製/粘貼,並尋求內部使用的實用解決方案。該解決方案:

  • 打開批處理模式在Word文件
  • 你可以寫一個小腳本從HTML
  • 保存在HTML文件削減外面的一切標籤,但使用.xls擴展
  • 默認情況下,HTML文件將在Excel中打開,您只需單擊該警告即可。

在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語法。