<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Excel中的xls、xlsx、xlsm混合文件,看我用Python如何統(tǒng)一處理......

          共 2004字,需瀏覽 5分鐘

           ·

          2021-02-10 01:20

          點(diǎn)擊上方“Python爬蟲與數(shù)據(jù)挖掘”,進(jìn)行關(guān)注

          回復(fù)“書籍”即可獲贈Python從入門到進(jìn)階共10本電子書

          洞房昨夜停紅燭,待曉堂前拜舅姑。?

          引言

          Python語言,近幾年在辦公自動化這一領(lǐng)域來說,真的超級火爆!用它做批量處理確實(shí)比VBA要方便很多。

          前面的文章,我們已經(jīng)講述了如何將doc文件轉(zhuǎn)換為docx文件,還沒有觀看的朋友直接戳此鏈接:

          python-docx無法處理 “doc格式” 文件,于是我這樣做......

          今天黃同學(xué)再帶大家探討Python處理Excel文件時,遇到的一些問題。在Python中,有幾個常用的庫專門用來處理Excel文件,分別是xlrd、xlwt和openpyxl,簡單介紹一下:

          • xlrd只能讀取數(shù)據(jù),可以處理xls和xlsx;
          • xlwt只能寫數(shù)據(jù),只能處理xls;
          • openpyxl可以讀數(shù)據(jù)和寫數(shù)據(jù),但只能處理xlsx;

          如果待處理的文件,既有xls,又有xlsx時,我覺得還是將它們一并轉(zhuǎn)換為統(tǒng)一格式,再進(jìn)行二次修改,顯得更為方便。

          同時,這里還有一種Excel文件,就是xlsm格式,該表格文件卻很少被其他庫支持。這種情況下,如果我們電腦有安裝微軟的Excel軟件(非wps),就可以通過調(diào)用本地excel軟件對表格文件進(jìn)行格式轉(zhuǎn)換,然后我們再進(jìn)行其它操作。

          正文

          再給代碼之前,我仍然給大家講述一些知識點(diǎn),方便大家一讀就會。

          • 上一篇文章,由于處理的是Word文檔,因此這里調(diào)用的是Word程序,那處理Excel文檔,這里就需要調(diào)用Excel程序了;
          • 在Python中,文檔用Documents表示,工作簿用Workbooks表示,因此處理不同的文件,我們需要調(diào)用不同的屬性,打開對應(yīng)的文件;
          #?調(diào)用word程序
          WordApp?=?win32com.client.Dispatch("Word.Application")
          #?調(diào)用excel程序
          WordApp?=?win32com.client.Dispatch("Excel.Application")

          #?打開word文檔
          w.Documents.Open(path)
          #?打開Excel工作簿
          w.Workbooks.Open(path)

          #?后臺運(yùn)行,不顯示,不警告
          WordApp.Visible?=?0
          WordApp.DisplayAlerts?=?0

          Excel文件的格式是最多的,這里我再給大家做一個總結(jié),給你加深一下印象。

          這里需要強(qiáng)調(diào)一下:后面的代碼里,我們在使用SaveAs保存時,會用到一個FileFormat屬性,其中:

          • FileFormat=51,表示xlsx擴(kuò)展文件;
          • FileFormat=56,表示xls擴(kuò)展文件;
          • FileFormat=52,表示xlsm擴(kuò)展文件;
          • FileFormat=23,表示csv擴(kuò)展文件;

          好了,前期準(zhǔn)備知識講述完畢,這里直接給大家上代碼。

          import?os
          import?time
          import?win32com
          from?win32com.client?import?Dispatch

          def?xls_xlsx(path):
          ???w?=?win32com.client.Dispatch('Excel.Application')
          ???w.Visible?=?0
          ???w.DisplayAlerts?=?0
          ???wb?=?w.Workbooks.Open(path)
          ???#?這里必須要絕對地址,保持和xls路徑一致
          ???newpath?=?allpath+'\\轉(zhuǎn)換后的文檔.xlsx'

          ???wb.SaveAs(newpath,FileFormat?=?51)
          ???#?doc.Close()?開啟則會刪掉原來的dxls
          ???w.Quit()#?退出
          ???return?newpath
          allpath?=?os.getcwd()
          print(allpath)
          xls_xlsx(allpath+'\\轉(zhuǎn)換前的文檔.xls')

          最終結(jié)果:

          本文講述完畢,代碼附有注釋,相信大家可以看明白,一篇文章總要留給大家一點(diǎn)思考空間,這里就不再過多贅述。

          -------------------?End?-------------------

          往期精彩文章推薦:

          歡迎大家點(diǎn)贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持

          想加入Python學(xué)習(xí)群請?jiān)诤笈_回復(fù)【入群

          萬水千山總是情,點(diǎn)個【在看】行不行

          /今日留言主題/

          隨便說一兩句吧~~

          瀏覽 32
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  麻豆91久久久久久 | 依人成人大香蕉天堂黄色 | 大香伊人久久 | 操逼黄网 | 国内精品视频播放 |