![Python文件和數(shù)據(jù)格式化實(shí)用技巧_第1頁(yè)](http://file4.renrendoc.com/view11/M01/14/38/wKhkGWW2kguALRqYAAHwE00GUGo427.jpg)
![Python文件和數(shù)據(jù)格式化實(shí)用技巧_第2頁(yè)](http://file4.renrendoc.com/view11/M01/14/38/wKhkGWW2kguALRqYAAHwE00GUGo4272.jpg)
![Python文件和數(shù)據(jù)格式化實(shí)用技巧_第3頁(yè)](http://file4.renrendoc.com/view11/M01/14/38/wKhkGWW2kguALRqYAAHwE00GUGo4273.jpg)
![Python文件和數(shù)據(jù)格式化實(shí)用技巧_第4頁(yè)](http://file4.renrendoc.com/view11/M01/14/38/wKhkGWW2kguALRqYAAHwE00GUGo4274.jpg)
![Python文件和數(shù)據(jù)格式化實(shí)用技巧_第5頁(yè)](http://file4.renrendoc.com/view11/M01/14/38/wKhkGWW2kguALRqYAAHwE00GUGo4275.jpg)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Python文件和數(shù)據(jù)格式化實(shí)用技巧匯報(bào)人:XX2024-01-11文件讀寫與基本操作數(shù)據(jù)格式化之字符串操作數(shù)據(jù)格式化之列表、元組和字典操作正則表達(dá)式在數(shù)據(jù)格式化中的應(yīng)用CSV文件處理技巧JSON文件處理技巧XML文件處理技巧文件讀寫與基本操作01使用`open()`函數(shù)打開文件file=open('filename.txt','mode'),其中'filename.txt'是文件名,'mode'是打開模式,如讀取模式'r'、寫入模式'w'、追加模式'a'等。使用`close()`方法關(guān)閉文件file.close(),關(guān)閉文件以釋放資源。使用`with`語(yǔ)句自動(dòng)關(guān)閉文件withopen('filename.txt','mode')asfile:,這種方式可以確保文件在使用完畢后自動(dòng)關(guān)閉,無(wú)需手動(dòng)調(diào)用close()方法。打開與關(guān)閉文件
讀取文件內(nèi)容讀取整個(gè)文件內(nèi)容使用`read()`方法一次性讀取整個(gè)文件內(nèi)容,如`content=file.read()`。逐行讀取文件內(nèi)容使用`readlines()`方法逐行讀取文件內(nèi)容,返回一個(gè)包含所有行的列表,如`lines=file.readlines()`。迭代讀取文件內(nèi)容使用`for`循環(huán)逐行讀取文件內(nèi)容,如`forlineinfile:`。使用`write()`方法將字符串寫入文件,如`file.write('Hello,World!')`。寫入字符串使用`writelines()`方法將包含多行數(shù)據(jù)的列表或元組寫入文件,如`file.writelines(['Line1n','Line2n'])`。寫入多行數(shù)據(jù)寫入文件內(nèi)容使用`os.getcwd()`方法獲取當(dāng)前工作目錄的路徑。獲取當(dāng)前工作目錄使用`os.path.join()`方法構(gòu)建文件路徑,如`filepath=os.path.join(directory,filename)`。構(gòu)建文件路徑使用`os.path.split()`方法分割文件路徑,返回包含目錄和文件名的元組,如`dir_name,file_name=os.path.split(filepath)`。分割文件路徑文件路徑處理數(shù)據(jù)格式化之字符串操作02字符串拼接使用`+`運(yùn)算符或`join()`方法將多個(gè)字符串連接成一個(gè)字符串。例如:`"Hello"+""+"World!"`或`"".join(["Hello","","World!"])`。字符串分割使用`split()`方法將字符串按照指定的分隔符拆分成多個(gè)子串,返回一個(gè)列表。例如:`"Hello,World!".split(",")`將返回`['Hello','World!']`。字符串拼接與分割使用`replace()`方法將字符串中的某個(gè)子串替換為另一個(gè)子串。例如:`"Hello,World!".replace("World","Python")`將返回`'Hello,Python!'`。使用`find()`或`index()`方法查找子串在字符串中的位置,返回子串的起始索引。例如:`"Hello,World!".find("World")`將返回`7`。字符串替換與查找字符串查找字符串替換使用`%`運(yùn)算符進(jìn)行字符串格式化,例如:`"Hello,%s!"%"World"`。舊式格式化使用`format()`方法或f-string進(jìn)行字符串格式化。例如:`"Hello,{name}!".format(name="World")`或`name="World";f"Hello,{name}!"`。新式格式化字符串格式化編碼將字符串轉(zhuǎn)換為字節(jié)序列,可以使用`encode()`方法指定編碼方式,例如:`"Hello,World!".encode("utf-8")`。解碼將字節(jié)序列轉(zhuǎn)換為字符串,可以使用`decode()`方法指定編碼方式,例如:`b'Hello,World!'.decode("utf-8")`。編碼與解碼處理數(shù)據(jù)格式化之列表、元組和字典操作03列表修改通過(guò)索引直接修改列表元素,如`my_list[0]=0`將列表第一個(gè)元素修改為0。列表創(chuàng)建使用方括號(hào)`[]`或`list()`函數(shù)創(chuàng)建列表,如`my_list=[1,2,3]`或`my_list=list((1,2,3))`。列表切片使用切片操作訪問(wèn)列表的一部分,如`my_list[1:3]`返回列表第二個(gè)到第三個(gè)元素(不包含第三個(gè)元素)。列表創(chuàng)建與修改123使用圓括號(hào)`()`或`tuple()`函數(shù)創(chuàng)建元組,如`my_tuple=(1,2,3)`或`my_tuple=tuple([1,2,3])`。元組創(chuàng)建元組是不可變序列,一旦創(chuàng)建就不能修改。這使得元組在需要不變序列的場(chǎng)景下非常有用,如字典的鍵。元組特性元組常用于表示一組相關(guān)的數(shù)據(jù),如坐標(biāo)`(x,y)`,或用于字典中的鍵-值對(duì)。應(yīng)用場(chǎng)景元組特性及應(yīng)用場(chǎng)景字典創(chuàng)建01使用大括號(hào)`{}`或`dict()`函數(shù)創(chuàng)建字典,如`my_dict={'a':1,'b':2}`或`my_dict=dict(a=1,b=2)`。字典訪問(wèn)02通過(guò)鍵訪問(wèn)字典中的值,如`my_dict['a']`返回1。如果鍵不存在于字典中,會(huì)引發(fā)`KeyError`異常。字典方法03Python字典提供了豐富的方法,如`keys()`返回所有鍵的列表,`values()`返回所有值的列表,`items()`返回所有鍵-值對(duì)的列表等。字典創(chuàng)建與訪問(wèn)方法使用`tuple()`函數(shù)將列表轉(zhuǎn)換為元組,如`tuple([1,2,3])`返回`(1,2,3)`。列表轉(zhuǎn)元組根據(jù)實(shí)際需求,可以靈活地將一種數(shù)據(jù)結(jié)構(gòu)嵌套轉(zhuǎn)換為另一種數(shù)據(jù)結(jié)構(gòu),如將字典的鍵-值對(duì)轉(zhuǎn)換為元組列表等。數(shù)據(jù)結(jié)構(gòu)嵌套轉(zhuǎn)換使用`list()`函數(shù)將元組轉(zhuǎn)換為列表,如`list((1,2,3))`返回`[1,2,3]`。元組轉(zhuǎn)列表使用`items()`方法將字典轉(zhuǎn)換為鍵-值對(duì)列表,或使用`keys()`和`values()`方法分別獲取鍵和值的列表。字典轉(zhuǎn)列表數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換技巧正則表達(dá)式在數(shù)據(jù)格式化中的應(yīng)用04正則表達(dá)式簡(jiǎn)介及基本語(yǔ)法正則表達(dá)式定義正則表達(dá)式是一種強(qiáng)大的文本處理工具,用于描述字符串的匹配模式。通過(guò)正則表達(dá)式,可以方便地對(duì)文本進(jìn)行匹配、查找、替換等操作?;菊Z(yǔ)法正則表達(dá)式的語(yǔ)法包括普通字符、特殊字符、限定符、定位符等。例如,`.`表示匹配任意字符,`*`表示匹配前面的子表達(dá)式零次或多次,`^`表示匹配輸入字符串的開始位置,`$`表示匹配輸入字符串的結(jié)束位置等。使用正則表達(dá)式可以在文本中查找與指定模式匹配的字符串。例如,使用`re.match()`或`re.search()`函數(shù)可以在字符串中查找與正則表達(dá)式匹配的部分。匹配功能通過(guò)正則表達(dá)式可以方便地查找文本中的特定內(nèi)容。例如,使用`re.findall()`函數(shù)可以查找字符串中所有與正則表達(dá)式匹配的部分,并返回一個(gè)列表。查找功能正則表達(dá)式還可以用于替換文本中的特定內(nèi)容。使用`re.sub()`函數(shù)可以將與正則表達(dá)式匹配的字符串替換為指定的內(nèi)容。替換功能匹配、查找和替換功能實(shí)現(xiàn)分組概念正則表達(dá)式中的分組是指將多個(gè)字符組合在一起,作為一個(gè)整體進(jìn)行處理。分組使用圓括號(hào)`()`進(jìn)行標(biāo)識(shí),可以方便地對(duì)分組進(jìn)行引用和操作。捕獲組捕獲組是正則表達(dá)式中一種特殊的分組,它會(huì)將匹配到的內(nèi)容保存起來(lái),以便后續(xù)引用。通過(guò)捕獲組,可以在匹配完成后獲取分組的內(nèi)容,并進(jìn)行進(jìn)一步處理。非捕獲組與捕獲組相對(duì),非捕獲組不會(huì)保存匹配到的內(nèi)容。非捕獲組的語(yǔ)法是在圓括號(hào)后面添加`?:`,例如`(?:pattern)`。非捕獲組通常用于分組而不需要保存匹配結(jié)果的情況,可以提高正則表達(dá)式的性能。分組、捕獲和非捕獲組概念解析正則表達(dá)式優(yōu)化建議簡(jiǎn)化表達(dá)式:盡量使用簡(jiǎn)單的正則表達(dá)式,避免過(guò)度復(fù)雜的模式。簡(jiǎn)單的表達(dá)式不僅易于理解和維護(hù),而且性能更好。減少回溯:回溯是正則表達(dá)式中的一種機(jī)制,用于在匹配失敗時(shí)回溯到之前的位置嘗試其他可能的匹配。過(guò)多的回溯會(huì)降低正則表達(dá)式的性能,因此應(yīng)該盡量減少回溯的發(fā)生。可以通過(guò)優(yōu)化正則表達(dá)式的結(jié)構(gòu)和選擇合適的匹配模式來(lái)減少回溯。使用非貪婪模式:正則表達(dá)式中的貪婪模式會(huì)盡可能多地匹配字符,而非貪婪模式則盡可能少地匹配字符。在需要精確控制匹配范圍的情況下,使用非貪婪模式可以避免過(guò)度匹配的問(wèn)題。非貪婪模式的語(yǔ)法是在限定符后面添加?,例如*?、+?、{n,}?等。預(yù)編譯正則表達(dá)式:如果需要在程序中多次使用同一個(gè)正則表達(dá)式,可以考慮將其預(yù)編譯為一個(gè)正則對(duì)象,以提高性能。預(yù)編譯可以使用pile()函數(shù)實(shí)現(xiàn),將正則表達(dá)式作為參數(shù)傳入即可。CSV文件處理技巧05CSV文件讀寫操作指南通過(guò)csv.reader和csv.writer對(duì)象,可以方便地進(jìn)行CSV文件的讀取和寫入操作。指定分隔符和引用符在處理CSV文件時(shí),可以通過(guò)指定分隔符(如逗號(hào)、制表符等)和引用符(如雙引號(hào)、單引號(hào)等)來(lái)適應(yīng)不同的文件格式。處理大文件對(duì)于大文件,可以使用逐行讀取或分塊讀取的方式來(lái)減少內(nèi)存占用。使用Python內(nèi)置csv模塊處理缺失值對(duì)于缺失值,可以使用刪除、填充(如均值、中位數(shù)、眾數(shù)等)或插值等方法進(jìn)行處理。處理異常值對(duì)于異常值,可以使用刪除、替換(如使用箱線圖上下四分位數(shù)進(jìn)行替換)或轉(zhuǎn)換等方法進(jìn)行處理。識(shí)別缺失值和異常值通過(guò)數(shù)據(jù)分析,識(shí)別數(shù)據(jù)中的缺失值和異常值,如空值、無(wú)窮大值等。數(shù)據(jù)清洗:缺失值與異常值處理03自定義類型轉(zhuǎn)換通過(guò)定義函數(shù)或使用lambda表達(dá)式,可以實(shí)現(xiàn)自定義的類型轉(zhuǎn)換操作。01字符串與數(shù)值類型轉(zhuǎn)換使用Python內(nèi)置的str和int、float等函數(shù),可以實(shí)現(xiàn)字符串與數(shù)值類型之間的轉(zhuǎn)換。02日期與時(shí)間類型轉(zhuǎn)換使用Python內(nèi)置的datetime模塊,可以實(shí)現(xiàn)日期和時(shí)間類型之間的轉(zhuǎn)換,以及日期和時(shí)間的格式化輸出。數(shù)據(jù)轉(zhuǎn)換:數(shù)據(jù)類型轉(zhuǎn)換方法論述案例分析:批量處理CSV文件實(shí)踐將處理后的數(shù)據(jù)輸出到新的CSV文件中,可以使用csv模塊或pandas的to_csv函數(shù)進(jìn)行輸出操作。同時(shí),也可以將處理結(jié)果可視化展示或保存到數(shù)據(jù)庫(kù)中。批量輸出處理結(jié)果使用os或glob模塊,可以批量讀取指定目錄下的所有CSV文件。批量讀取CSV文件對(duì)于每個(gè)CSV文件,可以使用pandas等數(shù)據(jù)處理庫(kù)進(jìn)行數(shù)據(jù)的清洗、轉(zhuǎn)換和分析等操作。批量處理數(shù)據(jù)JSON文件處理技巧06跨語(yǔ)言、跨平臺(tái)、數(shù)據(jù)格式簡(jiǎn)單、易讀性強(qiáng)。優(yōu)點(diǎn)不支持注釋、數(shù)據(jù)類型相對(duì)有限(如不支持日期和時(shí)間類型)、對(duì)于大型數(shù)據(jù)可能不夠高效。缺點(diǎn)JSON格式簡(jiǎn)介及優(yōu)缺點(diǎn)分析讀取JSON文件使用Python內(nèi)置的`json`模塊,通過(guò)`json.load()`方法從文件中讀取JSON數(shù)據(jù)。要點(diǎn)一要點(diǎn)二寫入JSON文件同樣使用`json`模塊,通過(guò)`json.dump()`方法將數(shù)據(jù)寫入JSON文件。JSON文件讀寫操作指南使用`json.loads()`方法將JSON字符串轉(zhuǎn)換為Python對(duì)象(如字典或列表)。解析JSON數(shù)據(jù)提取所需信息遍歷JSON對(duì)象通過(guò)鍵(對(duì)于字典)或索引(對(duì)于列表)訪問(wèn)JSON對(duì)象中的特定數(shù)據(jù)。使用循環(huán)結(jié)構(gòu)遍歷JSON對(duì)象,以提取所需的多個(gè)數(shù)據(jù)項(xiàng)。030201數(shù)據(jù)解析:從JSON中提取所需信息案例一使用JSON配置文件存儲(chǔ)應(yīng)用程序的配置信息。程序啟動(dòng)時(shí)讀取JSON配置文件,解析配置信息并應(yīng)用于程序運(yùn)行。案例二案例三在不同系統(tǒng)或服務(wù)間使用JSON作為數(shù)據(jù)交換格式。通過(guò)JSON實(shí)現(xiàn)跨平臺(tái)、跨語(yǔ)言的數(shù)據(jù)傳輸和共享。使用JSON在Web應(yīng)用中實(shí)現(xiàn)前后端數(shù)據(jù)交互。前端將數(shù)據(jù)以JSON格式發(fā)送到后端,后端解析JSON數(shù)據(jù)并進(jìn)行處理。案例分析:使用JSON進(jìn)行數(shù)據(jù)傳輸實(shí)踐XML文件處理技巧07XML格式簡(jiǎn)介及優(yōu)缺點(diǎn)分析XML格式簡(jiǎn)介XML(ExtensibleMarkupLanguage,可擴(kuò)展標(biāo)記語(yǔ)言)是一種用于存儲(chǔ)和傳輸數(shù)據(jù)的標(biāo)記語(yǔ)言。它允許用戶自定義標(biāo)簽,使得數(shù)據(jù)具有更好的可讀性和可擴(kuò)展性。優(yōu)點(diǎn)分析XML具有跨平臺(tái)、跨語(yǔ)言、自描述性、結(jié)構(gòu)化等特點(diǎn),使得數(shù)據(jù)在不同系統(tǒng)之間易于交換和處理。同時(shí),XML支持多種編碼方式,可以方便地處理國(guó)際化數(shù)據(jù)。缺點(diǎn)分析XML文件通常較大,占用存儲(chǔ)空間較多。解析XML文件需要消耗一定的計(jì)算資源,可能會(huì)影響程序性能。此外,XML的語(yǔ)法相對(duì)嚴(yán)格,編寫和維護(hù)XML文件需要一定的學(xué)習(xí)和經(jīng)驗(yàn)積累。讀取XML文件在Python中,可以使用內(nèi)置的`xml.etree.ElementTree`模塊來(lái)讀取XML文件。首先,使用`parse`函數(shù)解析XML文件并返回一個(gè)Element對(duì)象,然后通過(guò)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國(guó)PWM制氫電源行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 必殺03 第六單元 我們生活的大洲-亞洲(綜合題20題)(解析版)
- 講稿《教育強(qiáng)國(guó)建設(shè)規(guī)劃綱要(2024-2035年)》學(xué)習(xí)宣講
- 2025關(guān)于合同中的表見代理
- 商業(yè)物業(yè)租賃合同范本
- 試驗(yàn)檢測(cè)未來(lái)的發(fā)展方向
- 天然氣購(gòu)銷合同模板
- 2025機(jī)械加工合同
- 卷簾門電機(jī)售后合同范本
- 商鋪的買賣合同年
- 2024年審計(jì)局公務(wù)員招錄事業(yè)單位招聘考試招錄139人完整版附答案【研優(yōu)卷】
- 濰坊市人民醫(yī)院招聘真題
- 銷售人員薪資提成及獎(jiǎng)勵(lì)制度
- 2017年江蘇南京中考滿分作文《無(wú)情歲月有味詩(shī)》5
- 2023年宏觀經(jīng)濟(jì)學(xué)考點(diǎn)難點(diǎn)
- 2024-2030年中國(guó)智慧水務(wù)行業(yè)應(yīng)用需求分析發(fā)展規(guī)劃研究報(bào)告
- 山體排險(xiǎn)合同模板
- 特殊感染手術(shù)的配合與術(shù)后處理課件
- 檢驗(yàn)科生物安全工作總結(jié)
- 《金屬與石材幕墻工程技術(shù)規(guī)范》jgj1332001-2021112401384
- 即時(shí)通訊系統(tǒng)建設(shè)方案
評(píng)論
0/150
提交評(píng)論