Python文件和數(shù)據(jù)格式化技巧與實(shí)踐_第1頁
Python文件和數(shù)據(jù)格式化技巧與實(shí)踐_第2頁
Python文件和數(shù)據(jù)格式化技巧與實(shí)踐_第3頁
Python文件和數(shù)據(jù)格式化技巧與實(shí)踐_第4頁
Python文件和數(shù)據(jù)格式化技巧與實(shí)踐_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

Python文件和數(shù)據(jù)格式化技巧與實(shí)踐匯報(bào)人:XX2024-01-12文件基本操作與讀寫數(shù)據(jù)格式化之字符串操作數(shù)據(jù)格式化之列表、元組和字典操作數(shù)據(jù)格式化之JSON處理數(shù)據(jù)格式化之XML處理數(shù)據(jù)格式化之CSV處理數(shù)據(jù)格式化之Excel處理文件基本操作與讀寫01使用`open()`函數(shù)打開文件,可以指定文件名、打開模式(如讀取、寫入、追加等)和編碼方式。打開文件關(guān)閉文件上下文管理使用`close()`方法關(guān)閉文件,釋放資源。使用`with`語句可以自動(dòng)管理文件的打開和關(guān)閉,確保文件在使用完畢后被正確關(guān)閉。030201打開與關(guān)閉文件03指定讀取內(nèi)容使用`read(size)`方法指定讀取的字節(jié)數(shù),或使用`readline()`方法讀取一行內(nèi)容。01讀取整個(gè)文件使用`read()`方法一次性讀取整個(gè)文件內(nèi)容。02逐行讀取使用`readlines()`方法或循環(huán)遍歷文件對(duì)象逐行讀取文件內(nèi)容。讀取文件內(nèi)容寫入整個(gè)字符串使用`write()`方法將字符串寫入文件。寫入多行內(nèi)容使用`writelines()`方法將字符串列表寫入文件,每個(gè)字符串代表一行內(nèi)容。追加內(nèi)容在打開文件時(shí)使用追加模式(`'a'`),可以將內(nèi)容追加到文件末尾,而不是覆蓋原有內(nèi)容。寫入文件內(nèi)容030201使用`os.getcwd()`方法獲取當(dāng)前工作目錄的路徑。獲取當(dāng)前工作目錄使用`os.path.join()`方法拼接路徑,可以自動(dòng)處理不同操作系統(tǒng)的路徑分隔符。拼接路徑使用`os.path.abspath()`方法獲取文件的絕對(duì)路徑。獲取文件絕對(duì)路徑使用`os.path.split()`方法分割路徑,返回路徑和文件名組成的元組。分割路徑文件路徑處理數(shù)據(jù)格式化之字符串操作02字符串拼接與分割字符串拼接使用`+`運(yùn)算符或`join()`方法將多個(gè)字符串連接成一個(gè)字符串。例如,通過`str1+str2`或`''.join([str1,str2])`實(shí)現(xiàn)字符串拼接。字符串分割使用`split()`方法將字符串按照指定分隔符拆分成多個(gè)子串。例如,通過`'string.split(separator)'`將字符串按照`separator`分割成列表。字符串替換使用`replace()`方法將字符串中的某個(gè)子串替換為另一個(gè)子串。例如,通過`'string.replace(old,new)'`將`string`中的`old`子串替換為`new`子串。字符串查找使用`find()`或`index()`方法在字符串中查找子串的位置。例如,通過`'string.find(substring)'`或`'string.index(substring)'`查找`substring`在`string`中的位置。字符串替換與查找使用`%`運(yùn)算符進(jìn)行字符串格式化。例如,`'Hello,%s!'%name`將`name`的值插入到字符串中。舊式格式化使用`format()`方法或f-string進(jìn)行字符串格式化。例如,`'Hello,{name}!'.format(name=name)`或`f'Hello,{name}!'`。新式格式化字符串格式化編碼與解碼問題處理解碼:將字節(jié)序列轉(zhuǎn)換回原始字符串。例如,使用`decode()`方法將UTF-8格式的字節(jié)序列解碼為字符串:`'bytes.decode('utf-8')'`。編碼:將字符串轉(zhuǎn)換為字節(jié)序列,以便在網(wǎng)絡(luò)上傳輸或保存到文件中。例如,使用`encode()`方法將字符串編碼為UTF-8格式:`'string.encode('utf-8')'`。在處理編碼與解碼問題時(shí),需要注意選擇合適的字符集(如UTF-8、GBK等),以避免出現(xiàn)亂碼或數(shù)據(jù)丟失等問題。同時(shí),對(duì)于涉及文件讀寫或網(wǎng)絡(luò)通信等場景,還需要考慮數(shù)據(jù)的傳輸格式和協(xié)議要求。數(shù)據(jù)格式化之列表、元組和字典操作03列表創(chuàng)建使用方括號(hào)`[]`或`list()`函數(shù)創(chuàng)建列表,如`my_list=[1,2,3]`或`my_list=list((1,2,3))`。列表修改通過索引直接修改元素,如`my_list[0]=0`將列表第一個(gè)元素修改為0。列表遍歷使用`for`循環(huán)遍歷列表元素,如`foriteminmy_list:print(item)`。列表創(chuàng)建、修改和遍歷元組修改元組是不可變序列,不能直接修改元素。但可以通過切片或轉(zhuǎn)換成列表進(jìn)行修改后,再轉(zhuǎn)回元組。元組遍歷使用`for`循環(huán)遍歷元組元素,如`foriteminmy_tuple:print(item)`。元組創(chuàng)建使用圓括號(hào)`()`或`tuple()`函數(shù)創(chuàng)建元組,如`my_tuple=(1,2,3)`或`my_tuple=tuple([1,2,3])`。元組創(chuàng)建、修改和遍歷字典創(chuàng)建、修改和遍歷使用大括號(hào)`{}`或`dict()`函數(shù)創(chuàng)建字典,如`my_dict={'a':1,'b':2}`或`my_dict=dict(a=1,b=2)`。字典修改通過鍵直接修改值,如`my_dict['a']=0`將鍵為'a'的值修改為0。字典遍歷使用`for`循環(huán)遍歷字典的鍵或值,如`forkeyinmy_dict:print(key)`或`forvalueinmy_dict.values():print(value)`。字典創(chuàng)建使用內(nèi)置函數(shù)實(shí)現(xiàn)不同類型數(shù)據(jù)之間的轉(zhuǎn)換,如`list()`、`tuple()`和`dict()`函數(shù)可將其他類型數(shù)據(jù)轉(zhuǎn)換為列表、元組和字典。數(shù)據(jù)類型轉(zhuǎn)換對(duì)于列表和元組,可使用`sorted()`函數(shù)進(jìn)行排序,返回新的已排序的列表或元組;對(duì)于字典,可使用`sorted()`函數(shù)對(duì)鍵或值進(jìn)行排序,返回排序后的鍵或值的列表。數(shù)據(jù)排序數(shù)據(jù)類型轉(zhuǎn)換與排序數(shù)據(jù)格式化之JSON處理04JSON(JavaScriptObjectNotation)是一種輕量級(jí)的數(shù)據(jù)交換格式,易于閱讀和編寫。JSON采用鍵值對(duì)的方式來組織數(shù)據(jù),數(shù)據(jù)格式包括對(duì)象、數(shù)組、字符串、數(shù)字、布爾值和null。JSON具有跨平臺(tái)、跨語言的特點(diǎn),被廣泛應(yīng)用于Web開發(fā)和API接口數(shù)據(jù)傳輸。010203JSON數(shù)據(jù)格式簡介將Python對(duì)象轉(zhuǎn)換為JSON格式030201使用Python內(nèi)置的`json`模塊,通過`json.dumps()`方法將Python對(duì)象轉(zhuǎn)換為JSON格式的字符串。示例:`importjson;data={'name':'John','age':30};json_str=json.dumps(data)`可以使用`indent`參數(shù)指定縮進(jìn)空格數(shù),使輸出的JSON字符串更易于閱讀。將JSON格式轉(zhuǎn)換為Python對(duì)象使用Python內(nèi)置的`json`模塊,通過`json.loads()`方法將JSON格式的字符串轉(zhuǎn)換為Python對(duì)象。02示例:`importjson;json_str='{"name":"John","age":30}';data=json.loads(json_str)`03轉(zhuǎn)換后的Python對(duì)象類型與JSON數(shù)據(jù)格式相對(duì)應(yīng),如字典、列表、字符串、數(shù)字、布爾值和None。01使用Python的`json`模塊解析JSON數(shù)據(jù),并通過鍵或索引提取所需信息。示例:`importjson;json_str='{"name":"John","age":30,"city":"NewYork"}';data=json.loads(json_str);print(data['name'])`可以使用循環(huán)遍歷JSON對(duì)象或數(shù)組,處理更復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。JSON數(shù)據(jù)解析與提取數(shù)據(jù)格式化之XML處理05標(biāo)記語言XML是一種標(biāo)記語言,用于描述和傳輸數(shù)據(jù)??蓴U(kuò)展性XML標(biāo)簽自定義,可根據(jù)需求擴(kuò)展數(shù)據(jù)描述方式。結(jié)構(gòu)化數(shù)據(jù)XML使數(shù)據(jù)具有結(jié)構(gòu)化,便于在不同系統(tǒng)之間進(jìn)行數(shù)據(jù)交換。XML數(shù)據(jù)格式簡介使用ElementTree解析XML文件導(dǎo)入ElementTree模塊importxml.etree.ElementTreeasET。解析XML文件使用`ET.parse()`方法解析XML文件,返回ElementTree對(duì)象。獲取根節(jié)點(diǎn)通過`getroot()`方法獲取XML文件的根節(jié)點(diǎn)。遍歷節(jié)點(diǎn)使用`for`循環(huán)遍歷節(jié)點(diǎn)及其子節(jié)點(diǎn),獲取所需數(shù)據(jù)。通過pip安裝`lxml`庫,`pipinstalllxml`。安裝lxml庫fromlxmlimportetree。導(dǎo)入lxml模塊使用`etree.parse()`方法解析XML文件,返回Element對(duì)象。解析XML文件利用XPath語法查詢XML數(shù)據(jù),如`root.xpath('//tagName')`。XPath查詢使用lxml庫解析XML文件生成XML文件并寫入數(shù)據(jù)創(chuàng)建Element對(duì)象使用`ET.Element()`方法創(chuàng)建根節(jié)點(diǎn)和子節(jié)點(diǎn)。構(gòu)建XML樹結(jié)構(gòu)將創(chuàng)建的節(jié)點(diǎn)按照層級(jí)關(guān)系進(jìn)行組合,形成完整的XML樹結(jié)構(gòu)。添加節(jié)點(diǎn)屬性通過`attrib`字典添加節(jié)點(diǎn)屬性,如`element.attrib={'key':'value'}`。寫入XML文件使用`ET.ElementTree()`方法將XML樹結(jié)構(gòu)轉(zhuǎn)換為ElementTree對(duì)象,并通過`write()`方法寫入XML文件。數(shù)據(jù)格式化之CSV處理06CSV(Comma-SeparatedValues)即逗號(hào)分隔值,是一種簡單的文件格式,用于存儲(chǔ)表格數(shù)據(jù),如電子表格或數(shù)據(jù)庫。CSV文件由任意數(shù)量的記錄組成,記錄之間以某種換行符分隔;每條記錄由字段組成,字段之間的分隔符是其他字符或字符串,最常見的是逗號(hào)或制表符。CSV是一種通用的、相對(duì)簡單的文件格式,被廣大用戶、商業(yè)和科學(xué)應(yīng)用接受。CSV數(shù)據(jù)格式簡介導(dǎo)入csv模塊importcsv創(chuàng)建CSV文件讀取器使用`csv.reader()`函數(shù)創(chuàng)建CSV文件讀取器,將打開的文件對(duì)象作為參數(shù)傳入。逐行讀取CSV文件內(nèi)容使用`for`循環(huán)遍歷CSV文件讀取器對(duì)象,每次循環(huán)讀取一行數(shù)據(jù),每行數(shù)據(jù)是一個(gè)列表,列表中的每個(gè)元素對(duì)應(yīng)CSV文件中的一個(gè)字段。打開CSV文件使用`open()`函數(shù)打開CSV文件,并指定模式為'r'(只讀模式)。使用csv模塊讀取CSV文件內(nèi)容導(dǎo)入csv模塊:importcsv打開CSV文件:使用open()函數(shù)打開CSV文件,并指定模式為'w'(寫入模式),如果文件不存在則創(chuàng)建該文件。創(chuàng)建CSV文件寫入器:使用csv.writer()函數(shù)創(chuàng)建CSV文件寫入器,將打開的文件對(duì)象作為參數(shù)傳入。寫入數(shù)據(jù)到CSV文件:使用writerow()方法寫入一行數(shù)據(jù),該方法接受一個(gè)列表作為參數(shù),列表中的每個(gè)元素對(duì)應(yīng)CSV文件中的一個(gè)字段;使用writerows()方法寫入多行數(shù)據(jù),該方法接受一個(gè)包含多個(gè)列表的列表作為參數(shù),每個(gè)列表對(duì)應(yīng)CSV文件中的一行數(shù)據(jù)。使用csv模塊寫入CSV文件內(nèi)容篩選數(shù)據(jù)讀取CSV文件內(nèi)容后,可以使用Python的條件語句和循環(huán)語句對(duì)數(shù)據(jù)進(jìn)行篩選,例如篩選出年齡大于30歲的記錄。排序數(shù)據(jù)對(duì)篩選后的數(shù)據(jù)可以使用Python的內(nèi)置排序函數(shù)`sorted()`進(jìn)行排序,例如按照年齡從小到大排序。排序時(shí)可以指定排序的字段和排序方式(升序或降序)。CSV文件內(nèi)容篩選與排序數(shù)據(jù)格式化之Excel處理07Excel文件的基本結(jié)構(gòu)包括工作簿(Workbook)、工作表(Worksheet)和單元格(Cell),其中單元格是數(shù)據(jù)存儲(chǔ)的基本單位。工作簿、工作表和單元格Excel單元格中可存儲(chǔ)的數(shù)據(jù)類型包括文本、數(shù)值、日期、時(shí)間等。數(shù)據(jù)類型Excel提供了豐富的公式和函數(shù),用于數(shù)據(jù)處理、計(jì)算和分析。公式與函數(shù)Excel數(shù)據(jù)格式簡介ABCD使用openpyxl庫讀取Excel文件內(nèi)容安裝openpyxl庫使用pip命令安裝openpyxl庫,如`pipinstallopenpyxl`。讀取工作表通過工作簿對(duì)象的`active`屬性或`worksheet`方法獲取工作表對(duì)象。讀取工作簿使用`openpyxl.load_workbook()`函數(shù)讀取Excel文件,返回工作簿對(duì)象。讀取單元格數(shù)據(jù)使用工作表對(duì)象的`cell()`方法或通過單元格坐標(biāo)訪問單元格,獲取單元格中的數(shù)據(jù)。使用`openpyxl.Workbook()`函數(shù)創(chuàng)建一個(gè)新的工作簿對(duì)象。創(chuàng)建工作簿創(chuàng)建工作表寫入數(shù)據(jù)保存文件通過工作簿對(duì)象的`active`屬性或`create_sheet()`方法創(chuàng)建新的工作表。使用工作表對(duì)象的`cell()`方法或通過單元格坐標(biāo)訪問單元格,并使用賦值操作

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論