版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
匯報(bào)人:XX2024-01-10Python文件和數(shù)據(jù)格式化程序設(shè)計(jì)實(shí)務(wù)目錄Python文件操作基礎(chǔ)數(shù)據(jù)格式化基礎(chǔ)文件與數(shù)據(jù)格式化應(yīng)用Python高級文件操作技巧數(shù)據(jù)清洗與預(yù)處理實(shí)務(wù)實(shí)戰(zhàn)案例:Python在數(shù)據(jù)處理中的應(yīng)用01Python文件操作基礎(chǔ)關(guān)閉文件使用`close()`方法關(guān)閉文件,釋放資源。上下文管理器使用`with`語句可以自動(dòng)管理文件的打開和關(guān)閉,無需手動(dòng)調(diào)用`close()`方法。打開文件使用`open()`函數(shù)打開文件,需要指定文件路徑和打開模式。文件打開與關(guān)閉讀取模式以只讀方式打開文件,使用`read()`方法讀取文件內(nèi)容。寫入模式以寫入方式打開文件,使用`write()`方法向文件中寫入內(nèi)容。追加模式以追加方式打開文件,使用`write()`方法向文件末尾追加內(nèi)容。二進(jìn)制模式以二進(jìn)制方式打開文件,用于處理二進(jìn)制數(shù)據(jù)。文件讀寫模式絕對路徑是從根目錄開始的完整路徑,相對路徑是相對于當(dāng)前工作目錄的路徑。絕對路徑與相對路徑使用`os.path.join()`函數(shù)可以拼接路徑。路徑拼接使用`os.path.split()`函數(shù)可以分解路徑,得到目錄名和文件名。路徑分解使用`os.path.normpath()`函數(shù)可以規(guī)范化路徑,消除多余的斜杠和點(diǎn)。路徑規(guī)范化文件路徑處理文件異常處理文件不存在異常當(dāng)試圖打開不存在的文件時(shí),會(huì)拋出`FileNotFoundError`異常。文件讀寫異常當(dāng)讀寫文件發(fā)生錯(cuò)誤時(shí),會(huì)拋出`IOError`異常。文件關(guān)閉異常當(dāng)試圖關(guān)閉未打開的文件時(shí),會(huì)拋出`ValueError`異常。使用`try...except`語句處理…可以使用`try...except`語句捕獲并處理文件操作中的異常。02數(shù)據(jù)格式化基礎(chǔ)123Python中的基本數(shù)據(jù)類型包括整數(shù)、浮點(diǎn)數(shù)、復(fù)數(shù)、布爾值、字符串、列表、元組、字典和集合等。數(shù)據(jù)類型Python提供了多種內(nèi)置函數(shù)來實(shí)現(xiàn)不同類型之間的轉(zhuǎn)換,如`int()`,`float()`,`str()`,`list()`,`tuple()`等。類型轉(zhuǎn)換可以使用`type()`函數(shù)來判斷一個(gè)變量的類型,或使用`isinstance()`函數(shù)來判斷一個(gè)變量是否是某個(gè)類型的實(shí)例。類型判斷數(shù)據(jù)類型與轉(zhuǎn)換03f-string格式化在Python3.6及更高版本中,可以使用f-string進(jìn)行字符串格式化,語法更簡潔。01舊式字符串格式化使用`%`操作符進(jìn)行字符串格式化,支持整數(shù)、浮點(diǎn)數(shù)、字符串等類型的格式化。02str.format()方法使用`{}`占位符進(jìn)行字符串格式化,支持更豐富的格式化選項(xiàng),如填充、對齊、精度等。字符串格式化整數(shù)格式化可以使用`format()`方法或f-string來格式化整數(shù),指定寬度、進(jìn)制、填充字符等。浮點(diǎn)數(shù)格式化可以使用`format()`方法或f-string來格式化浮點(diǎn)數(shù),指定寬度、精度、舍入方式等??茖W(xué)計(jì)數(shù)法可以使用`format()`方法或f-string來將浮點(diǎn)數(shù)格式化為科學(xué)計(jì)數(shù)法表示。數(shù)值格式化Python中可以使用`datetime`模塊來表示日期和時(shí)間,支持年、月、日、時(shí)、分、秒等時(shí)間單位。日期和時(shí)間表示可以使用`strftime()`方法將日期和時(shí)間格式化為字符串,或使用`strptime()`方法將字符串解析為日期和時(shí)間對象。常用的時(shí)間格式符包括`%Y`(年份)、`%m`(月份)、`%d`(日期)、`%H`(小時(shí))、`%M`(分鐘)、`%S`(秒)等。日期和時(shí)間格式化日期和時(shí)間格式化03文件與數(shù)據(jù)格式化應(yīng)用文本文件讀寫使用Python內(nèi)置函數(shù)`open()`打開文本文件,通過指定模式(如讀取模式'r'、寫入模式'w'、追加模式'a'等)進(jìn)行文件的讀寫操作。文本文件格式化利用字符串的`format()`方法或f-string格式化字符串,將特定格式的數(shù)據(jù)寫入文本文件,或從文本文件中讀取數(shù)據(jù)并進(jìn)行格式化處理。文本文件讀寫與格式化VS使用Python標(biāo)準(zhǔn)庫中的`csv`模塊進(jìn)行CSV文件的讀寫。通過創(chuàng)建`csv.reader`對象讀取CSV文件內(nèi)容,創(chuàng)建`csv.writer`對象將數(shù)據(jù)寫入CSV文件。CSV文件格式化在讀取CSV文件時(shí),可以根據(jù)需要指定分隔符、引號字符等參數(shù),對數(shù)據(jù)進(jìn)行清洗和格式化。在寫入CSV文件時(shí),可以使用`csv.writer`對象的`writerow()`和`writerows()`方法將數(shù)據(jù)按照指定格式寫入文件。CSV文件讀寫CSV文件讀寫與格式化使用Python標(biāo)準(zhǔn)庫中的`json`模塊進(jìn)行JSON文件的讀寫。通過`json.load()`函數(shù)讀取JSON文件內(nèi)容,通過`json.dump()`函數(shù)將數(shù)據(jù)寫入JSON文件。在讀取JSON文件時(shí),可以使用`json.loads()`函數(shù)將JSON字符串轉(zhuǎn)換為Python對象,進(jìn)而對數(shù)據(jù)進(jìn)行處理。在寫入JSON文件時(shí),可以使用`json.dumps()`函數(shù)將Python對象轉(zhuǎn)換為JSON格式的字符串,并指定縮進(jìn)、分隔符等參數(shù)進(jìn)行格式化。JSON文件讀寫JSON文件格式化JSON文件讀寫與格式化XML文件讀寫與格式化使用Python標(biāo)準(zhǔn)庫中的`xml.etree.ElementTree`模塊進(jìn)行XML文件的讀寫。通過`ElementTree.parse()`函數(shù)讀取XML文件內(nèi)容,通過創(chuàng)建`ElementTree`對象并將數(shù)據(jù)寫入XML文件。XML文件讀寫在讀取XML文件時(shí),可以使用XPath或遍歷的方式獲取XML元素和屬性,對數(shù)據(jù)進(jìn)行提取和處理。在寫入XML文件時(shí),可以使用`ElementTree`對象的`write()`方法將數(shù)據(jù)按照指定格式寫入文件,并通過設(shè)置`xml_declaration`、`encoding`等參數(shù)進(jìn)行格式化。XML文件格式化04Python高級文件操作技巧使用`seek()`方法可以在文件中移動(dòng)指針到指定位置,實(shí)現(xiàn)隨機(jī)訪問。文件指針定位指針位置獲取行間跳轉(zhuǎn)通過`tell()`方法可以獲取當(dāng)前文件指針的位置。結(jié)合`seek()`和`readlines()`或`readline()`實(shí)現(xiàn)文件行間跳轉(zhuǎn)。030201文件指針操作使用`'rb'`或`'wb'`模式打開文件,分別對應(yīng)二進(jìn)制讀和寫。二進(jìn)制文件讀寫使用`struct`模塊對二進(jìn)制數(shù)據(jù)進(jìn)行打包和解包,處理C語言結(jié)構(gòu)體風(fēng)格的數(shù)據(jù)。結(jié)構(gòu)體數(shù)據(jù)處理利用專門庫(如PIL、wave)處理特定類型的二進(jìn)制文件。圖像、音頻等文件處理二進(jìn)制文件處理使用`zipfile`模塊實(shí)現(xiàn)ZIP文件的壓縮和解壓縮。ZIP文件處理通過`gzip`模塊實(shí)現(xiàn)GZIP格式的壓縮和解壓縮。GZIP文件處理利用`tarfile`模塊處理TAR歸檔文件,支持多種壓縮格式。TAR文件處理文件壓縮與解壓縮通過分塊讀取大文件,避免一次性加載到內(nèi)存導(dǎo)致內(nèi)存溢出。分塊讀取迭代器應(yīng)用內(nèi)存映射外部命令調(diào)用利用生成器或迭代器逐行、逐塊處理大文件內(nèi)容。使用`mmap`模塊將大文件映射到內(nèi)存,實(shí)現(xiàn)高效隨機(jī)訪問。結(jié)合`subprocess`模塊調(diào)用外部命令處理大文件,如使用`sort`、`awk`等命令。大文件處理策略05數(shù)據(jù)清洗與預(yù)處理實(shí)務(wù)數(shù)據(jù)清洗是對數(shù)據(jù)進(jìn)行重新審查和校驗(yàn)的過程,目的在于刪除重復(fù)信息、糾正存在的錯(cuò)誤,并提供數(shù)據(jù)一致性。數(shù)據(jù)清洗定義在數(shù)據(jù)分析過程中,原始數(shù)據(jù)往往存在各種問題,如缺失值、異常值、重復(fù)值等,這些問題會(huì)嚴(yán)重影響數(shù)據(jù)分析結(jié)果的準(zhǔn)確性和可靠性。因此,進(jìn)行數(shù)據(jù)清洗是數(shù)據(jù)分析中不可或缺的重要步驟。數(shù)據(jù)清洗重要性數(shù)據(jù)清洗概述及重要性缺失值處理實(shí)務(wù)缺失值識別通過Pandas等數(shù)據(jù)處理工具識別數(shù)據(jù)中的缺失值,如NaN、None等。缺失值處理方法根據(jù)數(shù)據(jù)的實(shí)際情況,選擇合適的處理方法,如刪除含有缺失值的行或列、使用均值、中位數(shù)或眾數(shù)填充缺失值、使用插值法或機(jī)器學(xué)習(xí)算法預(yù)測缺失值等。異常值識別通過可視化方法(如箱線圖、散點(diǎn)圖等)或統(tǒng)計(jì)方法(如Z-Score、IQR等)識別數(shù)據(jù)中的異常值。要點(diǎn)一要點(diǎn)二異常值處理方法根據(jù)異常值的性質(zhì)和實(shí)際業(yè)務(wù)需求,選擇合適的處理方法,如刪除異常值、使用中位數(shù)或均值替換異常值、使用穩(wěn)健的統(tǒng)計(jì)方法(如中位數(shù)絕對偏差)重新計(jì)算等。異常值處理實(shí)務(wù)重復(fù)值識別通過Pandas等數(shù)據(jù)處理工具識別數(shù)據(jù)中的重復(fù)值。重復(fù)值處理方法根據(jù)數(shù)據(jù)的實(shí)際情況和業(yè)務(wù)需求,選擇合適的處理方法,如刪除重復(fù)的行或列、保留特定的重復(fù)行(如保留最新的或最早的記錄)、對數(shù)據(jù)進(jìn)行去重處理等。重復(fù)值處理實(shí)務(wù)06實(shí)戰(zhàn)案例:Python在數(shù)據(jù)處理中的應(yīng)用使用`os`模塊遍歷指定目錄下的所有文件,通過正則表達(dá)式匹配并替換文件名中的特定部分,實(shí)現(xiàn)批量重命名。利用Python的第三方庫如`pandas`、`openpyxl`等,讀取原格式文件(如CSV、Excel等),轉(zhuǎn)換為所需格式(如JSON、XML等)并保存。案例一:批量修改文件名和格式轉(zhuǎn)換文件格式批量重命名文件日志文件讀取使用Python內(nèi)置的文件操作函數(shù)或第三方庫(如`loguru`)讀取日志文件內(nèi)容。正則表達(dá)式匹配根據(jù)日志格式編寫正則表達(dá)式,匹配并提取關(guān)鍵信息(如時(shí)間戳、錯(cuò)誤級別、錯(cuò)誤信息等)。格式化輸出將提取的關(guān)鍵信息按照特定格式(如表格、圖表等)進(jìn)行輸出,便于分析和查看。案例二030201連接數(shù)據(jù)庫01使用Python的數(shù)據(jù)庫連接庫(如`pymysql`、`psycopg2`等)連接到目標(biāo)數(shù)據(jù)庫。執(zhí)行查詢語句02編寫SQL查詢語句,獲取所需數(shù)據(jù)。導(dǎo)出數(shù)據(jù)03將查詢結(jié)果轉(zhuǎn)換為Python數(shù)據(jù)結(jié)構(gòu)(如列表、字典等),然后使用相應(yīng)庫(如`csv`、`pandas`等)將數(shù)據(jù)導(dǎo)出為多種
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 護(hù)理記錄與交接管理制度
- 《散步》知識講義
- 人教版可能性課件
- 2024年浙江客運(yùn)從業(yè)資格證下載什么軟件練題
- 算法設(shè)計(jì)與分析 課件 5.8-動(dòng)態(tài)規(guī)劃應(yīng)用-編輯距離問題
- 2024年山西客運(yùn)資格證應(yīng)用能力試題答案解析
- 2024年承德考客運(yùn)從業(yè)資格證考試題目
- 2024年鞍山客運(yùn)資格證題庫及答案
- 2024年長沙客運(yùn)證考試
- 2024年烏魯木齊客運(yùn)資格專業(yè)能力考試試題
- 八年級物理上冊說課稿:第二章2.1物質(zhì)的三態(tài) 溫度的測量
- 湖北省鄂東南省級示范高中教育教學(xué)改革聯(lián)盟2023-2024學(xué)年高一上學(xué)期期中聯(lián)考政治試題
- 全護(hù)筒跟進(jìn)旋挖施工方案
- 海水淡化處理方案
- 福建省廈門市翔安區(qū)2023-2024學(xué)年九年級上學(xué)期期中英語試題
- 學(xué)生對學(xué)校滿意度評價(jià)表
- 化工項(xiàng)目國民經(jīng)濟(jì)分析 化工項(xiàng)目技術(shù)經(jīng)濟(jì)
- 計(jì)算與人工智能概論智慧樹知到課后章節(jié)答案2023年下湖南大學(xué)
- 小學(xué)一年級下冊數(shù)學(xué)期末考試質(zhì)量分析及試卷分析
- 原材料情況說明范本
- 裝飾裝修工程售后服務(wù)具體措施
評論
0/150
提交評論