




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Python文件和數(shù)據(jù)格式化處理文本匯報(bào)人:XX2024-01-12文件讀取與寫入文本數(shù)據(jù)清洗數(shù)據(jù)格式化處理正則表達(dá)式應(yīng)用批量處理文本文件案例分析與實(shí)戰(zhàn)演練文件讀取與寫入01使用`open()`函數(shù)打開文件,需要指定文件名和打開模式(如讀取模式'r'、寫入模式'w'、追加模式'a'等)。打開文件使用`close()`方法關(guān)閉文件,釋放資源。關(guān)閉文件打開與關(guān)閉文件使用`read()`方法一次性讀取文件的全部內(nèi)容。讀取全部內(nèi)容逐行讀取讀取指定字符使用`readlines()`方法或循環(huán)遍歷文件對象逐行讀取內(nèi)容。使用`read(size)`方法讀取指定數(shù)量的字符。030201讀取文件內(nèi)容使用`write()`方法將字符串寫入文件。寫入字符串使用`writelines()`方法將字符串列表寫入文件,每個(gè)字符串代表一行。寫入多行數(shù)據(jù)以追加模式打開文件,使用`write()`或`writelines()`方法將內(nèi)容追加到文件末尾。追加內(nèi)容寫入文件內(nèi)容使用`os.getcwd()`方法獲取當(dāng)前工作目錄的路徑。獲取當(dāng)前路徑使用`os.path.join()`方法拼接路徑,確保路徑的正確性。拼接路徑使用`os.path.split()`或`os.path.splitext()`方法分割路徑,獲取文件名和擴(kuò)展名等信息。分割路徑使用`os.path.exists()`方法判斷指定路徑是否存在。判斷路徑是否存在文件路徑處理文本數(shù)據(jù)清洗02刪除空白字符使用Python中的`strip()`、`lstrip()`或`rstrip()`方法,可以刪除字符串開頭、結(jié)尾或兩側(cè)的空白字符。刪除特殊符號使用正則表達(dá)式庫`re`中的`sub()`方法,可以匹配并刪除文本中的特殊符號。例如,`re.sub(r'[^ws]','',text)`可以刪除所有非字母、非數(shù)字和非空格字符。刪除空白字符和特殊符號編碼轉(zhuǎn)換使用Python內(nèi)置的`encode()`和`decode()`方法,可以實(shí)現(xiàn)文本編碼的轉(zhuǎn)換。例如,將UTF-8編碼的文本轉(zhuǎn)換為GBK編碼,可以使用`text.encode('gbk')`。處理編碼錯(cuò)誤在編碼轉(zhuǎn)換過程中,可能會遇到編碼錯(cuò)誤??梢允褂胉errors`參數(shù)指定錯(cuò)誤處理方式,如忽略錯(cuò)誤(`'ignore'`)或替換錯(cuò)誤字符(`'replace'`)。文本編碼轉(zhuǎn)換停用詞是指在文本中頻繁出現(xiàn)但對文本意義貢獻(xiàn)較小的詞語,如“的”、“了”等??梢允褂矛F(xiàn)成的停用詞列表,也可以根據(jù)需要自定義停用詞列表。停用詞列表將文本分詞后,遍歷每個(gè)詞語,如果詞語在停用詞列表中,則將其從文本中刪除。去除停用詞去除停用詞和無關(guān)詞匯使用分詞工具(如jieba分詞)對文本進(jìn)行分詞。分詞工具可以根據(jù)詞典和規(guī)則將文本切分成詞語序列。在分詞的基礎(chǔ)上,使用詞性標(biāo)注工具對每個(gè)詞語進(jìn)行詞性標(biāo)注。詞性標(biāo)注可以幫助理解詞語在文本中的作用和含義。分詞及詞性標(biāo)注詞性標(biāo)注分詞數(shù)據(jù)格式化處理03使用`format()`方法通過在字符串中使用花括號`{}`作為占位符,調(diào)用`format()`方法并傳入相應(yīng)的參數(shù)進(jìn)行替換。使用f-string在Python3.6及以上版本中,可以使用f-string進(jìn)行字符串格式化,通過在字符串前加上`f`或`F`,并在字符串中使用花括號`{}`包裹變量或表達(dá)式。使用`%`操作符較舊的字符串格式化方式,使用`%`操作符和格式化字符串,如`"%s%d"`表示一個(gè)字符串和一個(gè)整數(shù)。字符串格式化使用`datetime`模塊Python標(biāo)準(zhǔn)庫中的`datetime`模塊提供了日期和時(shí)間的格式化功能??梢允褂胉strftime()`方法將日期和時(shí)間對象格式化為字符串,或使用`strptime()`方法將字符串解析為日期和時(shí)間對象。常見的日期時(shí)間格式符號如`%Y`表示四位數(shù)的年份,`%m`表示兩位數(shù)的月份,`%d`表示兩位數(shù)的日期,`%H`表示24小時(shí)制的小時(shí)數(shù),`%M`表示分鐘數(shù),`%S`表示秒數(shù)等。日期和時(shí)間格式化處理使用`format()`方法01類似于字符串格式化,可以使用`format()`方法對數(shù)字進(jìn)行格式化輸出。通過在字符串中使用花括號`{}`作為占位符,并指定相應(yīng)的格式化選項(xiàng),如精度、寬度、對齊方式等。使用f-string02同樣可以在f-string中對數(shù)字進(jìn)行格式化處理,通過在花括號`{}`中指定格式化選項(xiàng)。數(shù)字的千位分隔符03可以使用逗號`,`作為千位分隔符來表示大數(shù)字,提高可讀性。數(shù)字格式化處理
自定義格式化函數(shù)定義函數(shù)根據(jù)需要,可以自定義格式化函數(shù)來處理特定的數(shù)據(jù)格式。函數(shù)接收需要格式化的數(shù)據(jù)作為參數(shù),并返回格式化后的結(jié)果。使用正則表達(dá)式在自定義格式化函數(shù)中,可以使用正則表達(dá)式來匹配和替換特定的數(shù)據(jù)格式。Python標(biāo)準(zhǔn)庫中的`re`模塊提供了正則表達(dá)式的相關(guān)功能。處理復(fù)雜數(shù)據(jù)格式對于復(fù)雜的數(shù)據(jù)格式,可以在自定義函數(shù)中結(jié)合使用字符串操作、條件判斷、循環(huán)等語句來實(shí)現(xiàn)所需的格式化邏輯。正則表達(dá)式應(yīng)用04正則表達(dá)式是一種強(qiáng)大的文本處理工具,用于描述字符串的匹配模式。通過特定的語法規(guī)則,可以靈活地匹配、查找和替換文本中的特定內(nèi)容。正則表達(dá)式定義正則表達(dá)式的語法規(guī)則包括字符類、數(shù)量詞、邊界符、分組和選擇符等。例如,字符類用于匹配特定字符集合中的任意一個(gè)字符,數(shù)量詞用于指定字符或組合的出現(xiàn)次數(shù),邊界符用于指定匹配的位置等。語法規(guī)則正則表達(dá)式簡介及語法規(guī)則匹配操作使用正則表達(dá)式進(jìn)行匹配操作時(shí),可以根據(jù)指定的模式在文本中查找匹配的內(nèi)容。Python中的`re`模塊提供了`match()`、`search()`等方法用于執(zhí)行匹配操作。查找操作查找操作與匹配操作類似,用于在文本中查找符合指定模式的內(nèi)容??梢允褂胉findall()`方法返回所有匹配的結(jié)果,或使用`finditer()`方法返回一個(gè)迭代器,逐個(gè)訪問匹配結(jié)果。替換操作正則表達(dá)式還可以用于替換文本中的特定內(nèi)容。Python中的`re`模塊提供了`sub()`方法用于執(zhí)行替換操作,可以指定替換的源字符串、目標(biāo)字符串和替換次數(shù)等參數(shù)。匹配、查找與替換操作分組應(yīng)用正則表達(dá)式中的分組功能可以將模式中的一部分內(nèi)容分組,并對分組進(jìn)行單獨(dú)處理。通過使用括號`()`來創(chuàng)建分組,可以對分組進(jìn)行捕獲、引用和操作。捕獲組捕獲組是正則表達(dá)式中用于捕獲匹配結(jié)果的一種分組方式。通過在分組中添加括號,可以將匹配的內(nèi)容保存到捕獲組中,并在后續(xù)處理中進(jìn)行引用或使用。非捕獲組非捕獲組與捕獲組類似,但是不會保存匹配結(jié)果。非捕獲組的語法是在括號的開頭添加`?:`,例如`(?:pattern)`。非捕獲組可以用于優(yōu)化性能和提高正則表達(dá)式的可讀性。分組、捕獲與非捕獲組應(yīng)用正則表達(dá)式具有強(qiáng)大的語法規(guī)則,可以靈活地描述各種復(fù)雜的文本模式,滿足不同的處理需求。靈活性高效性可讀性跨平臺性正則表達(dá)式引擎經(jīng)過優(yōu)化,可以在較短時(shí)間內(nèi)處理大量的文本數(shù)據(jù),提高文本處理的效率。正則表達(dá)式采用簡潔的語法規(guī)則,使得表達(dá)式具有較高的可讀性,方便開發(fā)和維護(hù)。正則表達(dá)式是一種通用的文本處理工具,可以在不同的編程語言和平臺上使用,具有良好的跨平臺性。正則表達(dá)式在文本處理中的優(yōu)勢批量處理文本文件05使用os模塊中的os.walk()函數(shù)可以遍歷指定目錄下的所有文件和子目錄,并返回一個(gè)生成器對象,每個(gè)對象包含當(dāng)前目錄路徑、目錄列表和文件列表。os模塊遍歷目錄使用glob模塊中的glob()函數(shù)可以根據(jù)通配符匹配指定目錄下的文件,并返回一個(gè)包含匹配文件路徑的列表。glob模塊匹配文件結(jié)合os和glob模塊,可以遍歷指定目錄下的所有文件,并對每個(gè)文件進(jìn)行所需的操作,如讀取、修改、重命名等。遍歷文件并操作遍歷目錄并操作多個(gè)文件批量重命名或移動文件結(jié)合os和shutil模塊,可以批量重命名或移動指定目錄下的所有文件,根據(jù)需要進(jìn)行相應(yīng)的操作。批量處理使用os模塊中的os.rename()函數(shù)可以重命名指定文件。os模塊重命名文件使用shutil模塊中的shutil.move()函數(shù)可以將指定文件移動到另一個(gè)位置,如果目標(biāo)位置與當(dāng)前位置不同,則相當(dāng)于重命名并移動文件。shutil模塊移動文件批量修改文件內(nèi)容使用open()函數(shù)打開指定文件,并使用read()方法讀取文件內(nèi)容。對讀取的文件內(nèi)容進(jìn)行所需的修改操作,如替換、添加、刪除等。使用write()方法將修改后的內(nèi)容寫回文件,并使用close()方法關(guān)閉文件。結(jié)合os模塊遍歷目錄和上述步驟,可以批量修改指定目錄下的所有文件內(nèi)容。打開并讀取文件修改文件內(nèi)容寫回文件批量處理將上述批量處理文本文件的操作封裝成一個(gè)自動化腳本,方便重復(fù)使用和提高效率。編寫自動化腳本使用argparse模塊添加命令行參數(shù)支持,使得腳本更加靈活和可配置。命令行參數(shù)使用logging模塊記錄腳本運(yùn)行過程中的日志信息,方便排查問題和跟蹤腳本執(zhí)行情況。日志記錄在腳本中添加異常處理機(jī)制,確保腳本在出現(xiàn)異常時(shí)能夠正常終止并給出相應(yīng)的錯(cuò)誤信息。異常處理實(shí)現(xiàn)自動化腳本提高效率案例分析與實(shí)戰(zhàn)演練06案例一:批量修改文件名格式需求分析用戶需要將某個(gè)文件夾下的大量文件按照統(tǒng)一的規(guī)則進(jìn)行重命名,例如將文件名中的空格替換為下劃線,或者添加前綴或后綴等。解決方案使用Python的os模塊遍歷指定文件夾下的所有文件,然后使用字符串的replace()方法或其他相關(guān)操作對文件名進(jìn)行修改,最后使用os.rename()方法完成重命名操作。示例代碼```pythonimportos案例一:批量修改文件名格式defbatch_rename_files(directory,old_pattern,new_pattern)案例一:批量修改文件名格式forfilenameinos.listdir(directory)ifold_patterninfilenamenew_filename=filename.replace(old_pattern,new_pattern)案例一:批量修改文件名格式案例一:批量修改文件名格式os.rename(os.path.join(directory,filename),os.path.join(directory,new_filename))```使用說明:調(diào)用batch_rename_files()函數(shù),傳入需要批量重命名的文件夾路徑、需要被替換的文件名子串以及新的文件名子串即可。案例一:批量修改文件名格式案例二:提取特定格式數(shù)據(jù)并整理成表格用戶需要從一系列文本文件中提取出符合特定格式的數(shù)據(jù),并將這些數(shù)據(jù)整理成表格形式進(jìn)行展示或后續(xù)處理。需求分析使用Python的正則表達(dá)式模塊re匹配符合特定格式的數(shù)據(jù),然后將匹配到的數(shù)據(jù)按照表格的形式進(jìn)行整理,可以使用pandas等數(shù)據(jù)處理庫來完成表格的生成和操作。解決方案示例代碼```pythonimportre案例二:提取特定格式數(shù)據(jù)并整理成表格importpandasaspddefextract_data_to_table(file_path,pattern)案例二:提取特定格式數(shù)據(jù)并整理成表格withopen(file_path,'r')asf案例二:提取特定格式數(shù)據(jù)并整理成表格03data=pd.DataFrame(matches,columns=['Column1','Column2','Column3'])#根據(jù)匹配到的數(shù)據(jù)格式設(shè)置列名01content=f.read()02matches=re.findall(pattern,content)案例二:提取特定格式數(shù)據(jù)并整理成表格returndata案例二:提取特定格式數(shù)據(jù)并整理成表格```使用說明:調(diào)用extract_data_to_table()函數(shù),傳入需要提取數(shù)據(jù)的文件路徑以及用于匹配數(shù)據(jù)的正則表達(dá)式即可。函數(shù)會返回一個(gè)pandas的DataFrame對象,用戶可以根據(jù)需要對這個(gè)對象進(jìn)行進(jìn)一步的操作和處理。案例二:提取特定格式數(shù)據(jù)并整理成表格需求分析用戶需要定期對一些數(shù)據(jù)進(jìn)行分析并生成報(bào)告,或者將分析結(jié)果通過郵件發(fā)送給相關(guān)人員。使用Python的自動化腳本
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年教育領(lǐng)域?qū)ξ⑸锏囊笤囶}及答案
- 項(xiàng)目管理中的外部合作與網(wǎng)絡(luò)關(guān)系試題及答案
- 證券從業(yè)資格證考試專業(yè)見解試題及答案
- 項(xiàng)目團(tuán)隊(duì)協(xié)作中的有效機(jī)制試題及答案
- 2024年行政管理師考試考前沖刺試題及答案
- 2024年項(xiàng)目管理專業(yè)能力提升試題及答案
- 2025年審計(jì)法規(guī)遵循試題及答案
- 綠化種植施肥方案范本
- 風(fēng)險(xiǎn)與收益的平衡在2025年證券考試中的重要性試題及答案
- 玻璃生產(chǎn)與應(yīng)用技術(shù)考核試卷
- 食品安全知到智慧樹章節(jié)測試答案2024年秋浙江大學(xué)
- DB31-T 1298-2021 既有多層住宅加裝電梯安全技術(shù)要求
- 在登高作業(yè)時(shí)要注意的安全事項(xiàng)
- 血透延續(xù)護(hù)理服務(wù)
- 公路路面灌縫施工方案
- 《西游記知識競賽》題庫及答案(單選題100道、多選題100道)
- 地下管廊電纜施工方案
- 2024年10月1日新中國成立75周年主題班會課件
- 咖啡店店長招聘協(xié)議樣本
- DB11T 494.7-2013 人力資源服務(wù)規(guī)范 第7部分:素質(zhì)測評服務(wù)
- 2024年醫(yī)院重點(diǎn)崗位人員定期輪崗制度
評論
0/150
提交評論