<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)一處理......

          共 1724字,需瀏覽 4分鐘

           ·

          2021-01-29 11:15

          引言

          Python語(yǔ)言,近幾年在辦公自動(dòng)化這一領(lǐng)域來(lái)說(shuō),真的超級(jí)火爆!用它做批量處理確實(shí)比VBA要方便很多。
          今天帶大家探討Python處理Excel文件時(shí),遇到的一些問題。在Python中,有幾個(gè)常用的庫(kù)專門用來(lái)處理Excel文件,分別是xlrd、xlwt和openpyxl,簡(jiǎn)單介紹一下:
          • xlrd只能讀取數(shù)據(jù),可以處理xls和xlsx;
          • xlwt只能寫數(shù)據(jù),只能處理xls;
          • openpyxl可以讀數(shù)據(jù)和寫數(shù)據(jù),但只能處理xlsx;
          如果待處理的文件,既有xls,又有xlsx時(shí),我覺得還是將它們一并轉(zhuǎn)換為統(tǒng)一格式,再進(jìn)行二次修改,顯得更為方便。
          同時(shí),這里還有一種Excel文件,就是xlsm格式,該表格文件卻很少被其他庫(kù)支持。這種情況下,如果我們電腦有安裝微軟的Excel軟件(非wps),就可以通過(guò)調(diào)用本地excel軟件對(duì)表格文件進(jìn)行格式轉(zhuǎn)換,然后我們?cè)龠M(jìn)行其它操作。

          正文

          再給代碼之前,我仍然給大家講述一些知識(shí)點(diǎn),方便大家一讀就會(huì)。
          • 上一篇文章,由于處理的是Word文檔,因此這里調(diào)用的是Word程序,那處理Excel文檔,這里就需要調(diào)用Excel程序了;
          • 在Python中,文檔用Documents表示,工作簿用Workbooks表示,因此處理不同的文件,我們需要調(diào)用不同的屬性,打開對(duì)應(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)

          #?后臺(tái)運(yùn)行,不顯示,不警告
          WordApp.Visible?=?0
          WordApp.DisplayAlerts?=?0
          Excel文件的格式是最多的,這里我再給大家做一個(gè)總結(jié),給你加深一下印象。
          這里需要強(qiáng)調(diào)一下:后面的代碼里,我們?cè)谑褂肧aveAs保存時(shí),會(huì)用到一個(gè)FileFormat屬性,其中:
          • FileFormat=51,表示xlsx擴(kuò)展文件;
          • FileFormat=56,表示xls擴(kuò)展文件;
          • FileFormat=52,表示xlsm擴(kuò)展文件;
          • FileFormat=23,表示csv擴(kuò)展文件;
          好了,前期準(zhǔn)備知識(shí)講述完畢,這里直接給大家上代碼。
          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)
          ???#?這里必須要絕對(duì)地址,保持和xls路徑一致
          ???newpath?=?allpath+'\\轉(zhuǎn)換后的文檔.xlsx'

          ???wb.SaveAs(newpath,FileFormat?=?51)
          ???#?doc.Close()?開啟則會(huì)刪掉原來(lái)的dxls
          ???w.Quit()#?退出
          ???return?newpath
          allpath?=?os.getcwd()
          print(allpath)
          xls_xlsx(allpath+'\\轉(zhuǎn)換前的文檔.xls')
          最終結(jié)果:

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

          更多閱讀



          2020 年最佳流行 Python 庫(kù) Top 10


          2020 Python中文社區(qū)熱門文章 Top 10


          5分鐘快速掌握 Python 定時(shí)任務(wù)框架

          特別推薦




          點(diǎn)擊下方閱讀原文加入社區(qū)會(huì)員

          瀏覽 56
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <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>
                  操韩国美女 | AAA毛片18岁 | 中国成人无码 | 操屄免费 | 亚洲精品a |