最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于python+pandoc實(shí)現(xiàn)html批量轉(zhuǎn)word

 更新時(shí)間:2023年09月07日 10:44:55   作者:IceFloe_Rot  
pandoc是一個(gè)強(qiáng)大的文檔格式轉(zhuǎn)換工具,支持豐富的格式轉(zhuǎn)換,并盡可能的保留原來的排版,號(hào)稱文檔格式轉(zhuǎn)換的瑞士軍刀,本文將給大家介紹一下使用python搭配pandoc實(shí)現(xiàn)html批量轉(zhuǎn)word,感興趣的朋友可以參考閱讀下

使用python搭配pandoc實(shí)現(xiàn)html批量轉(zhuǎn)word

好兄弟工作上有一批(5000+)html的文檔需要轉(zhuǎn)成word格式,他采用了兩種實(shí)現(xiàn)方式,但都有些問題:

  • 直接改后綴有些會(huì)亂碼 --> 有些會(huì)亂碼,原因不知
  • 一個(gè)一個(gè)復(fù)制粘貼 --> 太費(fèi)時(shí)間

找到我來幫忙,研究了下發(fā)現(xiàn)了pandoc這個(gè)神器,記錄下實(shí)現(xiàn)的過程和踩的坑

pandoc簡(jiǎn)介

pandoc是一個(gè)強(qiáng)大的文檔格式轉(zhuǎn)換工具,支持豐富的格式轉(zhuǎn)換,并盡可能的保留原來的排版,號(hào)稱文檔格式轉(zhuǎn)換的瑞士軍刀

體支持哪些格式轉(zhuǎn)換可以查看官方文檔(網(wǎng)頁(yè)打開比較慢…):Pandoc - index

需要說明的是,pandoc要下載并安裝到本地才可以使用,windows下是一個(gè)msi的安裝包(mac版沒試),安裝之后會(huì)自動(dòng)添加路徑到環(huán)境變量里,可以直接使用cmd執(zhí)行程序

使用cmd進(jìn)行文檔格式轉(zhuǎn)換

一開始我是直接使用cmd指令進(jìn)行格式轉(zhuǎn)換,使用到的指令如下:

pandoc abc.html -o abc.docx

本地測(cè)試了一下可以正常轉(zhuǎn)換,然后我就想寫一個(gè)bat腳本批量執(zhí)行,但是發(fā)現(xiàn)cmd指令讀不出來中文文件名,即使改了cmd的編碼為UTF-8也不行,查了好多資料都沒找到解決方法,只好作罷,如果有大佬知道怎么讀取中文文件名的還請(qǐng)不吝賜教

使用python搭配pandoc

沒法使用bat腳本進(jìn)行轉(zhuǎn)換,又查了些資料,改為使用python中的os.system來代替執(zhí)行cmd指令,具體代碼如下:

注意:前提是必須要安裝pandoc到系統(tǒng)

import os
def transfer_file(file_dir):
    count = 1
    for root, dirs, files in os.walk(file_dir):  # 獲取當(dāng)前文件夾的信息
        for file in files:  # 掃描所有文件
            if os.path.splitext(file)[1] == ".html":  # 提取出所有后綴名為.html的文件
                os.chdir(root) # os.chdir() 方法用于改變當(dāng)前工作目錄到指定的路徑。
                print("正在轉(zhuǎn)換第:" + str(count) + "個(gè)文件")
                count = count + 1
                print("轉(zhuǎn)換開始:" + "pandoc " + file + " -o " + os.path.splitext(file)[0] + ".docx")
                # 使用os.system調(diào)用pandoc進(jìn)行格式轉(zhuǎn)化
                os.system("pandoc " + file + " -o " + os.path.splitext(file)[0] + ".docx")
                print("轉(zhuǎn)換完成...")
if __name__ == "__main__":
    # os.path.realpath(__file__))是當(dāng)前python文件所在的文件夾路徑,如果想要轉(zhuǎn)換指定文件夾,可以修改此路徑
    transfer_file(os.path.dirname(os.path.realpath(__file__)))

可以實(shí)現(xiàn)批量轉(zhuǎn)化

關(guān)于pypandoc

pandoc有一個(gè)python的包叫pypandoc,引入這個(gè)包直接調(diào)用pandoc.convert_file方法也可以實(shí)現(xiàn)文檔格式轉(zhuǎn)換,但是我沒有試過這種方式需不需要安裝pandoc,后面再摸索下

總結(jié)

pandoc是真的很強(qiáng)大,完美解決了亂碼問題和排版問題,另外原h(huán)tml中的圖片只要是在線圖片也可以轉(zhuǎn)到docx文檔中,以后再研究一下其他打開方式,聽說可以很方便的制作電子書,期待~

到此這篇關(guān)于基于python+pandoc實(shí)現(xiàn)html批量轉(zhuǎn)word的文章就介紹到這了,更多相關(guān)python實(shí)現(xiàn)html批量轉(zhuǎn)word內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 利用python 更新ssh 遠(yuǎn)程代碼 操作遠(yuǎn)程服務(wù)器的實(shí)現(xiàn)代碼

    利用python 更新ssh 遠(yuǎn)程代碼 操作遠(yuǎn)程服務(wù)器的實(shí)現(xiàn)代碼

    這篇文章主要介紹了利用python 更新ssh 遠(yuǎn)程代碼 操作遠(yuǎn)程服務(wù)器的實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2018-02-02
  • Python自定義字符串輸出格式的完全指南

    Python自定義字符串輸出格式的完全指南

    在Python編程中,??字符串格式化??和??輸出控制??是每個(gè)開發(fā)者必須掌握的核心技能,本文將深入探討Python中各種字符串格式化技術(shù),希望對(duì)大家有所幫助
    2025-10-10
  • python yolo混合文件xml和img整理/回顯yolo標(biāo)注文件方式

    python yolo混合文件xml和img整理/回顯yolo標(biāo)注文件方式

    本文介紹了如何根據(jù)XML文件中的標(biāo)簽順序進(jìn)行索引轉(zhuǎn)換,并提供了一種自定義標(biāo)簽轉(zhuǎn)格式的方法,以回顯YOLO標(biāo)注文件
    2026-01-01
  • pytorch安裝及環(huán)境配置的完整過程

    pytorch安裝及環(huán)境配置的完整過程

    這篇文章主要介紹了pytorch安裝及環(huán)境配置的完整過程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Python 刪除整個(gè)文本中的空格,并實(shí)現(xiàn)按行顯示

    Python 刪除整個(gè)文本中的空格,并實(shí)現(xiàn)按行顯示

    今天小編就為大家分享一篇Python 刪除整個(gè)文本中的空格,并實(shí)現(xiàn)按行顯示,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Python對(duì)圖片進(jìn)行二值化的實(shí)現(xiàn)方法

    Python對(duì)圖片進(jìn)行二值化的實(shí)現(xiàn)方法

    圖像的二值化處理是將圖像上的像素點(diǎn)的灰度值設(shè)置為0或255,也就是將整個(gè)圖像呈現(xiàn)出明顯的只有黑和白的視覺效果,二值化是圖像分割的一種最簡(jiǎn)單的方法,可以把灰度圖像轉(zhuǎn)換成二值圖像,本文給大家介紹了Python對(duì)圖片進(jìn)行二值化的實(shí)現(xiàn)方法,需要的朋友可以參考下
    2025-10-10
  • Python NumPy庫(kù)安裝使用筆記

    Python NumPy庫(kù)安裝使用筆記

    這篇文章主要介紹了Python NumPy庫(kù)安裝使用筆記,本文講解了NumPy的安裝和基礎(chǔ)使用,并對(duì)每一句代碼都做了詳細(xì)解釋,需要的朋友可以參考下
    2015-05-05
  • 基于python socketserver框架全面解析

    基于python socketserver框架全面解析

    下面小編就為大家?guī)硪黄趐ython socketserver框架全面解析。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • Python folium的實(shí)用功能詳解

    Python folium的實(shí)用功能詳解

    這篇文章主要為大家詳細(xì)介紹了Python中folium的使用功能,圖層控制、指北針、folium添加js和css、經(jīng)緯網(wǎng)格線(柵格線)等相關(guān)內(nèi)容,感興趣的小伙伴可以了解一下
    2022-12-12
  • Jupyter中markdown的操作方法

    Jupyter中markdown的操作方法

    Jupyter Notebook是基于網(wǎng)頁(yè)的用于交互計(jì)算的應(yīng)用程序,Jupyter notebook,作為Python廣受歡迎的一款I(lǐng)DLE,其直觀性、簡(jiǎn)易性、易于閱讀等優(yōu)點(diǎn)廣受許多Python用戶所推薦,這篇文章介紹Jupyter中markdown的操作,感興趣的朋友一起看看吧
    2024-01-01

最新評(píng)論

陆良县| 闵行区| 宁河县| 吉木乃县| 根河市| 凤凰县| 银川市| 桑植县| 濮阳市| 陆川县| 克拉玛依市| 霸州市| 黑山县| 兴海县| 浦北县| 丹江口市| 泉州市| 手机| 盐津县| 金门县| 天水市| 焦作市| 安陆市| 孝义市| 南京市| 凤阳县| 开远市| 木里| 林西县| 大洼县| 天长市| 龙游县| 天台县| 鸡西市| 永定县| 苍山县| 宣城市| 从江县| 汉寿县| 武强县| 宁明县|