0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何提取Word文檔表格保存到Excel

汽車電子技術(shù) ? 來源:Python數(shù)據(jù)分析之旅 ? 作者:cauwfq ? 2023-02-24 16:00 ? 次閱讀

pYYBAGP4bbyAVXpCAADXKvoB5OQ057.png

一.項(xiàng)目背景

   日常工作中,我們不免會(huì)遇到接收大量相似的word文檔,并需要把這些文檔中的數(shù)
   據(jù)提取到Excel表中。例如,提取word文檔中的財(cái)務(wù)數(shù)據(jù)、考勤數(shù)據(jù)等,將數(shù)據(jù)存儲(chǔ)到
Excel表中,本次項(xiàng)目我們專門針對word文檔中的表格數(shù)據(jù)進(jìn)行解析與提取。

原始數(shù)據(jù)文件(word文檔)

pYYBAGP4bdKAHwYAAAFhEpgV8zw520.png

word文檔內(nèi)容

poYBAGP4bd-APhZCAADIzEHXvkA620.png

本次我們的目標(biāo)是提取表格列名稱和人數(shù)這一行,最后存儲(chǔ)為Excel文件。

目標(biāo)Excel文件

pYYBAGP4beqARANZAAEIX1bBrqQ108.png

二.實(shí)現(xiàn)步驟

import pandas as pd
import docx
import os

#提取word文檔表格
def DocParsing(path_para):
    #獲取文件列表
    file_list = os.listdir(path_para)
    #創(chuàng)建存儲(chǔ)所有數(shù)據(jù)的列表
    list_combine = []

    #遍歷word文件列表
    for file in file_list:
        #讀取word文檔
        doc = docx.Document(path_para + '/' + file)
        #創(chuàng)建存儲(chǔ)單個(gè)word文檔數(shù)據(jù)的列表,key存儲(chǔ)值,col存儲(chǔ)列名稱
        key, col = [], []
        #獲取word文檔的表格
        tb = doc.tables[0]
        #row_index 表示表格的行數(shù)
        row_index=0
        #遍歷表格的行
        for row in tb.rows:
            #記錄行數(shù)
            row_index += 1
            #不提取占比這行
            if row_index == 3:
                continue
            else:
            #遍歷每行的單元格
                for cell in row.cells:
                    text = ""
                    #解析每一個(gè)單元格的數(shù)據(jù)
                    for p in cell.paragraphs:
                        text += p.text
                    #提取列名稱
                    if row_index == 1 :
                        #提取人數(shù)數(shù)據(jù)
                        col.append(text)
                    else:
                        key.append(text)

        #修改列表'col'的第一個(gè)元素為‘部門’
        col[0] = '部門'
        #修改列表‘key’的第一個(gè)元素為具體部門名稱
        key[0] = file[4:16]
        #將提取的數(shù)據(jù)轉(zhuǎn)化為單行DataFrame對象
        data = pd.DataFrame({i: j for i, j in zip(col, key)}, index=[0])
        print(data)
        #將DataFrame對象存儲(chǔ)到列表
        list_combine.append(data)

    #合并數(shù)據(jù)并重建索引
    df = pd.concat(list_combine, ignore_index=True)
    #輸出數(shù)據(jù)
    print(df)
    #保存數(shù)據(jù)為Excel文件
    df.to_excel('考勤匯總表.xlsx')

DocParsing('./task/')

poYBAGP4bgWAYZu9AABUxXIEE58320.png
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7101

    瀏覽量

    89262
  • word
    +關(guān)注

    關(guān)注

    1

    文章

    78

    瀏覽量

    21966
  • Excel
    +關(guān)注

    關(guān)注

    4

    文章

    221

    瀏覽量

    55553
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    wordexcel表格指定位置寫

    wordexcel表格指定位置寫,已經(jīng)實(shí)現(xiàn)
    發(fā)表于 06-25 15:39

    LabVIEW讀取EXCEL中的數(shù)據(jù)并復(fù)制到Word中生存報(bào)表

    版本是2012的,而且用到MS報(bào)表生成工具包 否則沒法正常打開拋磚引玉,做的簡單 需要的話可根據(jù)自己的要求擴(kuò)展程序?qū)τ谝恍?b class='flag-5'>保存在EXCEL中的數(shù)據(jù),有時(shí)候需要做成word形式的表格以便
    發(fā)表于 03-30 22:07

    labview如何將圖片粘貼到word或者excel

    現(xiàn)在能生成圖片進(jìn)入剪切板,請問有什么辦法可以粘貼到指定的word或者excel文件里?或者能夠?qū)崿F(xiàn)將多個(gè)圖片保存到word里也行,求高手指點(diǎn)
    發(fā)表于 09-11 16:07

    labview 自動(dòng)保存到excel 的的程序 打包成exe ,會(huì)有問題

    labview自動(dòng)保存到excel 的的程序 打包成exe會(huì)出現(xiàn)無法保存到excel 的 問題 ,請問大家遇到過同樣的問題沒
    發(fā)表于 07-09 14:42

    EXCEL數(shù)據(jù)保存加急

    串口通信中用EXCEL處置報(bào)表保存所選通道波形輸出的數(shù)據(jù)時(shí),怎樣用4000個(gè)點(diǎn)把一個(gè)完整周期波形變化的過程保存到表格中,可以從表格中看到波形
    發(fā)表于 05-12 10:13

    面板怎么保存到兩個(gè)excel電子表格

    有沒有人見過這個(gè)問題? - 在我的程序結(jié)束時(shí),我有兩個(gè)面板,我想保存到兩個(gè)excel電子表格中。我打開一個(gè)電子表格,保存適當(dāng)?shù)膱D像然后關(guān)閉該
    發(fā)表于 10-25 11:08

    Labview寫入Excel保存到本地后打開該文檔會(huì)報(bào)錯(cuò)呢?如下圖

    為什么Labview寫入Excel保存到本地后打開該文檔時(shí)會(huì)報(bào)錯(cuò)呢,報(bào)錯(cuò)如圖所示
    發(fā)表于 04-23 17:35

    串口數(shù)據(jù)保存到excel 換列

    我從串口每次讀1024個(gè)保存到excel 的第一列中,再讀1024個(gè)數(shù)保存到第二列,要怎么可以實(shí)現(xiàn) ,我之前的是只保存到某一列的,可以增加行,不知道怎么加列。
    發(fā)表于 11-21 16:24

    Microsoft Office Word、Excel

    采用 Microsoft Office WordExcel 和 PowerPoint 2007 新增的文件格式打開、編輯和保存文檔、工作簿和演示文稿。 Microsoft Office XP 和 2003 系統(tǒng)
    發(fā)表于 02-12 08:45 ?165次下載

    Office Word、Excel和PowerPoint 文

    打開、編輯和保存采用從 Office 2007 開始引入到 Microsoft Office Word、Excel 和 PowerPoint 中的 Open XML 文件格式的文檔、工
    發(fā)表于 07-06 00:14 ?238次下載
    Office <b class='flag-5'>Word</b>、<b class='flag-5'>Excel</b>和PowerPoint 文

    word表格小技巧

    word表格小技巧 一、快速插入表格   拖動(dòng)“插入表格”能插入的最大表格跟該圖標(biāo)位置、顯示分辨率有關(guān)。如使用800×600分辨率時(shí)最
    發(fā)表于 01-08 09:56 ?1578次閱讀

    如何使用labview讀寫word模板表格的內(nèi)容

    文檔的主要內(nèi)容詳細(xì)介紹的是使用labview通過書簽的方式寫入word模板表格,讀出word表格中的內(nèi)容(沒有用書簽方式讀出)。
    發(fā)表于 10-22 08:00 ?104次下載
    如何使用labview讀寫<b class='flag-5'>word</b>模板<b class='flag-5'>表格</b>的內(nèi)容

    使用Python操作excel表格的xlrd介紹

    文檔的主要內(nèi)容詳細(xì)介紹的是使用Python操作excel表格的xlrd介紹。
    發(fā)表于 07-02 08:00 ?2次下載

    如何從Word、PPT或Excel提取所有圖片并保存在其他地方?

    如果一個(gè)Word、PPT或者Excel文檔里面,有很多圖片,要怎么樣才能把里面的圖片全部保存到另外的地方?
    的頭像 發(fā)表于 09-29 11:47 ?3209次閱讀

    labview向WordExcel模板中寫數(shù)據(jù)

    壓縮包內(nèi)為VI源碼,2018labview,向WordExcel模板中寫數(shù)據(jù),Word模板文檔必須設(shè)置書簽,Excel在vi中指定單元格位
    發(fā)表于 05-17 11:51 ?37次下載