一、思路和基礎(chǔ)知識
因為我們要進行文件相關(guān)的操作,所以需要在一開始使用import導入Python內(nèi)置的os模塊。
我們需要先獲取該文件夾下所有的答題卡列表,再使用for循環(huán)遍歷文件夾中所有學生的答題卡,以便之后逐個讀取信息。
完成了第一個步驟,接下來,我們就需要在for循環(huán)里,依次獲取每位學生的班級、姓名、學號、選擇題分數(shù)和填空題分數(shù)。
面對總共三個班的學生,每位學生都有相對應(yīng)的五條信息,我們應(yīng)該如何在程序中存儲這些數(shù)據(jù)呢?我們可以在for循環(huán)內(nèi),使用字典來存儲每位學生的信息。在這個字典中,我們用5個鍵(key)值(value)對來分別存儲學生的班級、姓名、學號、填空題成績和選擇題成績。鍵的名稱和對應(yīng)數(shù)據(jù)如圖所示。
確定使用字典來存儲每個學生的數(shù)據(jù)后,我們可以在for循環(huán)外,使用一個列表來匯總存儲所有學生的字典數(shù)據(jù)。如圖所示:列表中的每個元素就是一個裝了學生信息的字典。
# 使用import導入os模塊
import os
# 將喬老師的答題卡文件夾路徑 /Users/qiao/answerKey 賦值給變量allKeyPath
allKeyPath = "/Users/qiao/answerKey"
# 使用os.listdir()函數(shù)獲取該路徑下所有的文件,并賦值給變量allItems
allItems = os.listdir(allKeyPath)
# 定義一個空列表allStudentsData存儲所有學生數(shù)據(jù)
allStudentsData = []
# 使用for循環(huán)逐個遍歷所有學生答題卡
for item in allItems:
# 定義一個空字典studentData存儲單個學生數(shù)據(jù)
studentData = {
}
# 使用os.path.splitext()函數(shù)獲取文件名的前半段,并賦值給變量fileName
fileName = os.path.splitext(item)[0]
# 使用split()函數(shù)以"-"分隔文件名,將第1部分班級信息賦值到學生數(shù)據(jù)字典的classInfo鍵里
studentData["classInfo"] = fileName.split("-")[0]
# 使用split()函數(shù)以"-"分隔文件名,將第2部分姓名信息賦值到學生數(shù)據(jù)字典的name鍵里
studentData["name"] = fileName.split("-")[1]
# 使用append()函數(shù)將studentData添加到總學生數(shù)據(jù)allStudentsData中
allStudentsData.append(studentData)
# 使用print輸出變量allStudentsData
print(allStudentsData)
剛剛我們已經(jīng)完成了前兩步,現(xiàn)在我們來完成第三步:確定答題卡中要讀取的信息位置。
在開始確定答題卡中要讀取的信息位置前,我們需要先學習一下Word文檔的基本結(jié)構(gòu)。
一個Word文件就是一個Word文檔(Document)。Word文檔(Document)的基本組成單位是段落(Paragraph)。標題、目錄、正文、圖形、空行都是段落。每個段落之中的內(nèi)容可以具有不同的樣式(Style)。常見的樣式有:字體、字形、字號、字體顏色、下劃線、刪除線、上標和下標等。連續(xù)具有相同樣式的基本單元可稱為一個樣式塊(run)。 例如,圖中這一段話原本是同一個樣式塊。但在這個段落中加粗一個字,那么這個字就形成了一個樣式塊。并且這個加粗的字的左右兩邊都被切割成了新的樣式塊。這樣這句話就變成了三個樣式塊。 沒有任何內(nèi)容的空行段落里沒有樣式塊。段落里只要有內(nèi)容就至少包含一個樣式塊。
除了段落外,Word文檔中還能嵌入表格(Table)。表格和段落在Word文檔中屬于并列級別。也就是說表格不屬于任何段落,我們不能夠通過遍歷段落來獲取表格。
和Excel表格的結(jié)構(gòu)很相似,Word文檔中的表格也是由單元格(Cell)組成。 單元格中的內(nèi)容可以包含段落和表格,相當于獨自構(gòu)成了一個完整的Word文檔。
和Excel表格的結(jié)構(gòu)很相似,Word文檔中的表格也是由單元格(Cell)組成。 單元格中的內(nèi)容可以包含段落和表格,相當于獨自構(gòu)成了一個完整的Word文檔。
二、安裝docx
要使用Python對Word文檔進行讀取,我們需要安裝一個用于讀取數(shù)據(jù)的工具python-docx。
python-docx是一個用于創(chuàng)建和更新Word文檔的開源模塊。需要注意的是,該模塊只可讀取、寫入.docx文件,不支持.doc文件。
安裝python-docx非常簡單,在終端中輸入代碼:pip install python-docx即可。
如果在自己電腦上安裝不上或安裝緩慢,可在命令后添加如下配置進行加速:
pip install python-docx -i https://pypi.tuna.tsinghua.edu.cn/simple/文章來源:http://www.zghlxwxcb.cn/news/detail-403366.html
三、讀取doc文檔
在安裝和導入python-docx之后,讀取指定路徑下的Word文檔需要使用函數(shù)?文章來源地址http://www.zghlxwxcb.cn/news/detail-403366.html
到了這里,關(guān)于python辦公自動化(6)——讀取word文檔的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!