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

word文檔內(nèi)容

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

二.實現(xiàn)步驟
import pandas as pd
import docx
import os
#提取word文檔表格
def DocParsing(path_para):
#獲取文件列表
file_list = os.listdir(path_para)
#創(chuàng)建存儲所有數(shù)據(jù)的列表
list_combine = []
#遍歷word文件列表
for file in file_list:
#讀取word文檔
doc = docx.Document(path_para + '/' + file)
#創(chuàng)建存儲單個word文檔數(shù)據(jù)的列表,key存儲值,col存儲列名稱
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 = ""
#解析每一個單元格的數(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'的第一個元素為‘部門’
col[0] = '部門'
#修改列表‘key’的第一個元素為具體部門名稱
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對象存儲到列表
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/')

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7241瀏覽量
91029 -
word
+關(guān)注
關(guān)注
1文章
78瀏覽量
22272 -
Excel
+關(guān)注
關(guān)注
4文章
225瀏覽量
56383
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
LabVIEW讀取EXCEL中的數(shù)據(jù)并復(fù)制到Word中生存報表
版本是2012的,而且用到MS報表生成工具包 否則沒法正常打開拋磚引玉,做的簡單 需要的話可根據(jù)自己的要求擴(kuò)展程序?qū)τ谝恍?b class='flag-5'>保存在EXCEL中的數(shù)據(jù),有時候需要做成word形式的表格以便
發(fā)表于 03-30 22:07
labview 自動保存到excel 的的程序 打包成exe ,會有問題
labview自動保存到excel 的的程序 打包成exe會出現(xiàn)無法保存到excel 的 問題 ,請問大家遇到過同樣的問題沒
發(fā)表于 07-09 14:42
EXCEL數(shù)據(jù)保存加急
串口通信中用EXCEL處置報表保存所選通道波形輸出的數(shù)據(jù)時,怎樣用4000個點把一個完整周期波形變化的過程保存到表格中,可以從表格中看到波形
發(fā)表于 05-12 10:13
面板怎么保存到兩個excel電子表格中
有沒有人見過這個問題? - 在我的程序結(jié)束時,我有兩個面板,我想保存到兩個excel電子表格中。我打開一個電子表格,保存適當(dāng)?shù)膱D像然后關(guān)閉該
發(fā)表于 10-25 11:08
串口數(shù)據(jù)保存到excel 換列
我從串口每次讀1024個保存到excel 的第一列中,再讀1024個數(shù)保存到第二列,要怎么可以實現(xiàn) ,我之前的是只保存到某一列的,可以增加行,不知道怎么加列。
發(fā)表于 11-21 16:24
Microsoft Office Word、Excel 和
采用 Microsoft Office Word、Excel 和 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次下載

word表格小技巧
word表格小技巧
一、快速插入表格
拖動“插入表格”能插入的最大表格跟該圖標(biāo)位置、顯示分辨率有關(guān)。如使用800×600分辨率時最
發(fā)表于 01-08 09:56
?1666次閱讀
如何使用labview讀寫word模板表格的內(nèi)容
本文檔的主要內(nèi)容詳細(xì)介紹的是使用labview通過書簽的方式寫入word模板表格,讀出word表格中的內(nèi)容(沒有用書簽方式讀出)。
發(fā)表于 10-22 08:00
?114次下載

如何從Word、PPT或Excel等提取所有圖片并保存在其他地方?
如果一個Word、PPT或者Excel文檔里面,有很多圖片,要怎么樣才能把里面的圖片全部保存到另外的地方?
Spire.Cloud.Word云端Word文檔處理SDK介紹
Spire.Cloud.Word 是一款專業(yè)的云端 Word 文檔處理 SDK,開發(fā)人員使用它在云端創(chuàng)建、讀取、編輯、轉(zhuǎn)換和保存 Word

Spire.Cloud.Excel云端Excel文檔處理SDK
Spire.Cloud.Excel 是一款專業(yè)的云端 Excel 文檔處理 SDK,開發(fā)人員可調(diào)用 SDK 在云端創(chuàng)建、讀取、編輯、轉(zhuǎn)換、及保存 E

評論