版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Python文件和數(shù)據(jù)格式化技巧與竅門(mén)匯報(bào)人:XX2024-01-11文件基本操作與讀寫(xiě)數(shù)據(jù)格式化之字符串操作數(shù)據(jù)格式化之列表與元組操作數(shù)據(jù)格式化之字典操作數(shù)據(jù)格式化之JSON處理數(shù)據(jù)格式化之XML處理數(shù)據(jù)格式化之CSV處理文件基本操作與讀寫(xiě)01使用`open()`函數(shù)打開(kāi)文件open()函數(shù)用于打開(kāi)一個(gè)文件,并返回一個(gè)文件對(duì)象??梢灾付ù蜷_(kāi)文件的模式,如讀取模式('r')、寫(xiě)入模式('w')或追加模式('a')等。使用`with`語(yǔ)句自動(dòng)關(guān)閉文件使用`with`語(yǔ)句可以確保文件在使用完畢后自動(dòng)關(guān)閉,無(wú)需手動(dòng)調(diào)用`close()`方法。打開(kāi)與關(guān)閉文件
讀取文件內(nèi)容讀取整個(gè)文件內(nèi)容使用文件對(duì)象的`read()`方法可以一次性讀取整個(gè)文件的內(nèi)容。逐行讀取文件內(nèi)容使用文件對(duì)象的`readlines()`方法可以逐行讀取文件的內(nèi)容,返回一個(gè)包含所有行的列表。讀取指定數(shù)量的字符使用文件對(duì)象的`read(size)`方法可以讀取指定數(shù)量的字符,其中`size`表示要讀取的字符數(shù)。寫(xiě)入列表或元組使用文件對(duì)象的`writelines(sequence)`方法可以將一個(gè)列表或元組中的字符串逐行寫(xiě)入文件。追加內(nèi)容到文件末尾以追加模式打開(kāi)文件后,使用`write()`或`writelines()`方法可以將內(nèi)容追加到文件的末尾。寫(xiě)入字符串使用文件對(duì)象的`write(string)`方法可以將一個(gè)字符串寫(xiě)入文件。寫(xiě)入文件內(nèi)容獲取當(dāng)前工作目錄拼接路徑分割路徑判斷路徑是否存在文件路徑處理01020304使用`os.getcwd()`方法可以獲取當(dāng)前工作目錄的路徑。使用`os.path.join()`方法可以將多個(gè)路徑片段拼接成一個(gè)完整的路徑。使用`os.path.split()`方法可以將一個(gè)路徑分割為目錄名和文件名兩部分。使用`os.path.exists()`方法可以判斷指定路徑是否存在。數(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`。字符串替換與查找字符串查找字符串替換使用`upper()`方法將字符串中的所有字符轉(zhuǎn)換為大寫(xiě)字母。例如:`"Hello".upper()`將返回`"HELLO"`。轉(zhuǎn)換為大寫(xiě)使用`lower()`方法將字符串中的所有字符轉(zhuǎn)換為小寫(xiě)字母。例如:`"HELLO".lower()`將返回`"hello"`。轉(zhuǎn)換為小寫(xiě)使用`capitalize()`方法將字符串的首字母轉(zhuǎn)換為大寫(xiě),其余字符轉(zhuǎn)換為小寫(xiě)。例如:`"hello".capitalize()`將返回`"Hello"`。首字母大寫(xiě)字符串大小寫(xiě)轉(zhuǎn)換使用`%`運(yùn)算符進(jìn)行格式化輸出:通過(guò)`%`運(yùn)算符和格式化字符串,可以將變量值插入到字符串中。例如:`"Hello,%s!"%"World"`將返回`"Hello,World!"`。使用`format()`方法進(jìn)行格式化輸出:通過(guò)`format()`方法和占位符`{}`,可以將變量值插入到字符串中,并可以指定格式化選項(xiàng)。例如:`"Hello,{0}!".format("World")`或`"Hello,{name}!".format(name="World")`將返回`"Hello,World!"`。使用f-string進(jìn)行格式化輸出(Python3.6+):通過(guò)在字符串前加上`f`或`F`,可以在字符串中直接插入變量值,并使用花括號(hào)`{}`指定變量名或表達(dá)式。例如:`f"Hello,{name}!"`或`f"Hello,{name.upper()}!"`將根據(jù)`name`的值返回相應(yīng)的格式化字符串。字符串格式化數(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)建與修改使用`sort()`方法對(duì)列表進(jìn)行原地排序,如`my_list.sort()`,或使用`sorted()`函數(shù)返回一個(gè)新排序后的列表,如`sorted_list=sorted(my_list)`。排序列表使用`+`操作符或`extend()`方法合并兩個(gè)列表,如`merged_list=list1+list2`或`list1.extend(list2)`。合并列表列表排序與合并使用圓括號(hào)`()`或`tuple()`函數(shù)創(chuàng)建元組,如`my_tuple=(1,2,3)`或`my_tuple=tuple([1,2,3])`。創(chuàng)建元組訪問(wèn)元組元組切片通過(guò)索引訪問(wèn)元組元素,如`my_tuple[0]`返回元組的第一個(gè)元素。與列表類(lèi)似,可以使用切片操作訪問(wèn)元組的一部分,如`my_tuple[1:3]`。030201元組創(chuàng)建與訪問(wèn)使用`tuple()`函數(shù)將列表轉(zhuǎn)換為元組,如`my_tuple=tuple(my_list)`。列表轉(zhuǎn)元組使用`list()`函數(shù)將元組轉(zhuǎn)換為列表,如`my_list=list(my_tuple)`。元組轉(zhuǎn)列表列表與元組相互轉(zhuǎn)換數(shù)據(jù)格式化之字典操作04字典創(chuàng)建與訪問(wèn)字典創(chuàng)建使用大括號(hào)`{}`或`dict()`函數(shù)創(chuàng)建字典,例如`my_dict={'key1':'value1','key2':'value2'}`或`my_dict=dict(key1='value1',key2='value2')`。字典訪問(wèn)通過(guò)鍵(key)訪問(wèn)字典中的值(value),例如`my_dict['key1']`或`my_dict.get('key1')`。直接向字典中添加新的鍵值對(duì),例如`my_dict['new_key']='new_value'`。添加元素通過(guò)鍵修改字典中已有的元素值,例如`my_dict['key1']='new_value'`。修改元素字典添加與修改元素遍歷字典使用`for`循環(huán)遍歷字典的鍵或值,例如`forkeyinmy_dict:`或`forvalueinmy_dict.values():`。排序字典使用`sorted()`函數(shù)對(duì)字典的鍵或值進(jìn)行排序,例如`sorted_keys=sorted(my_dict.keys())`或`sorted_values=sorted(my_dict.values())`。字典遍歷與排序字典應(yīng)用場(chǎng)景舉例字典可用于存儲(chǔ)結(jié)構(gòu)化數(shù)據(jù),如配置文件、用戶信息等。將字典作為查找表,通過(guò)鍵快速查找對(duì)應(yīng)的值。使用字典統(tǒng)計(jì)元素出現(xiàn)的次數(shù),例如統(tǒng)計(jì)單詞頻率。將其他數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為字典形式,以便進(jìn)行更方便的操作和處理。數(shù)據(jù)存儲(chǔ)查找表統(tǒng)計(jì)計(jì)數(shù)數(shù)據(jù)轉(zhuǎn)換數(shù)據(jù)格式化之JSON處理05JSON采用鍵值對(duì)的方式來(lái)組織數(shù)據(jù),數(shù)據(jù)格式包括對(duì)象、數(shù)組、字符串、數(shù)字、布爾值和null。JSON具有跨平臺(tái)、跨語(yǔ)言的優(yōu)勢(shì),被廣泛應(yīng)用于Web開(kāi)發(fā)和API接口數(shù)據(jù)傳輸。JSON(JavaScriptObjectNotation)是一種輕量級(jí)的數(shù)據(jù)交換格式,易于閱讀和編寫(xiě)。JSON數(shù)據(jù)格式簡(jiǎn)介使用Python內(nèi)置的`json`模塊可以輕松將Python對(duì)象轉(zhuǎn)換為JSON格式。通過(guò)`json.dumps()`方法將Python對(duì)象轉(zhuǎn)換為JSON格式的字符串??梢栽O(shè)置`indent`參數(shù)來(lái)美化輸出的JSON字符串,使其更易于閱讀。將Python對(duì)象轉(zhuǎn)換為JSON格式0102將JSON格式數(shù)據(jù)轉(zhuǎn)換為Python對(duì)象轉(zhuǎn)換后的Python對(duì)象類(lèi)型與原始JSON數(shù)據(jù)格式相對(duì)應(yīng),如字典、列表、字符串、數(shù)字、布爾值和None。使用`json.loads()`方法可以將JSON格式的字符串轉(zhuǎn)換為Python對(duì)象。
JSON文件讀寫(xiě)操作使用`json.dump()`方法可以將Python對(duì)象寫(xiě)入JSON文件。使用`json.load()`方法可以從JSON文件中讀取數(shù)據(jù)并轉(zhuǎn)換為Python對(duì)象。在讀寫(xiě)JSON文件時(shí),需要指定文件打開(kāi)模式為`'w'`(寫(xiě)入)或`'r'`(讀?。?,并設(shè)置文件編碼為`'utf-8'`以避免中文亂碼問(wèn)題。數(shù)據(jù)格式化之XML處理06XML是一種標(biāo)記語(yǔ)言,用于描述和傳輸數(shù)據(jù)。標(biāo)記語(yǔ)言XML使數(shù)據(jù)具有結(jié)構(gòu)化,便于在不同系統(tǒng)間交換和處理。結(jié)構(gòu)化數(shù)據(jù)XML標(biāo)簽自定義,適應(yīng)各種數(shù)據(jù)表示需求??蓴U(kuò)展性XML數(shù)據(jù)格式簡(jiǎn)介0102導(dǎo)入ElementTr…importxml.etree.ElementTreeasET解析XML文件tree=ET.parse('file.xml')獲取根節(jié)點(diǎn)root=tree.getroot()遍歷子節(jié)點(diǎn)forchildinroot:讀取節(jié)點(diǎn)屬性attribute=child.attrib['key']030405使用ElementTree解析XML文件使用minidom解析XML文件獲取根節(jié)點(diǎn)root=dom.documentElement解析XML文件dom=minidom.parse('file.xml')導(dǎo)入minidom模塊fromxml.domimportminidom獲取節(jié)點(diǎn)值value=root.getElementsByTagName('tag')[0].firstChild.data讀取節(jié)點(diǎn)屬性attribute=root.getElementsByTagName('tag')[0].getAttribute('key')0102導(dǎo)入ElementTr…importxml.etree.ElementTreeasET創(chuàng)建根節(jié)點(diǎn)root=ET.Element('root')添加子節(jié)點(diǎn)child=ET.SubElement(root,'child')設(shè)置節(jié)點(diǎn)屬性child.set('key','value')將元素樹(shù)寫(xiě)入文件tree=ET.ElementTree(root),tree.write('output.xml')030405生成XML文件并寫(xiě)入數(shù)據(jù)數(shù)據(jù)格式化之CSV處理07CSV(Comma-SeparatedValues)數(shù)據(jù)格式:一種簡(jiǎn)單的文件格式,用于存儲(chǔ)表格數(shù)據(jù),如電子表格或數(shù)據(jù)庫(kù)。CSV文件特點(diǎn):純文本形式存儲(chǔ)表格數(shù)據(jù),字段之間以逗號(hào)分隔,每行表示一條記錄。CSV文件優(yōu)勢(shì):易于生成、讀取和編輯,跨平臺(tái)兼容性好,可被多種軟件支持。CSV數(shù)據(jù)格式簡(jiǎn)介0102導(dǎo)入csv模塊importcsv打開(kāi)CSV文件使用`open()`函數(shù)打開(kāi)CSV文件,指定文件路徑和打開(kāi)模式(如讀取模式`'r'`)。創(chuàng)建csv.reade…使用`csv.reader()`函數(shù)創(chuàng)建csv.reader對(duì)象,傳入打開(kāi)的文件對(duì)象作為參數(shù)。逐行讀取數(shù)據(jù)使用for循環(huán)遍歷csv.reader對(duì)象,每次迭代返回一行數(shù)據(jù),以列表形式表示。處理讀取到的數(shù)據(jù)可以對(duì)讀取到的數(shù)據(jù)進(jìn)行進(jìn)一步處理,如提取特定字段、轉(zhuǎn)換數(shù)據(jù)類(lèi)型等。030405使用csv模塊讀取CSV文件內(nèi)容0102導(dǎo)入csv模塊importcsv打開(kāi)CSV文件使用`open()`函數(shù)打開(kāi)CSV文件,指定文件路徑和打開(kāi)模式(如寫(xiě)入模式`'w'`)。創(chuàng)建csv.write…使用`csv.writer()`函數(shù)創(chuàng)建csv.writer對(duì)象,傳入打開(kāi)的文件對(duì)象作為參數(shù)。寫(xiě)入數(shù)據(jù)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年物流貨物托運(yùn)與物流園區(qū)運(yùn)營(yíng)管理合同3篇
- 2024民辦學(xué)校校長(zhǎng)任期教育資源共享合同3篇
- 2024年股權(quán)投資與收購(gòu)協(xié)議2篇
- 2024年物流信息化系統(tǒng)建設(shè)合同范本3篇
- 2024水暖電消防承包合同范本
- 2024年餐飲業(yè)勞動(dòng)協(xié)議標(biāo)準(zhǔn)版版B版
- 2024年環(huán)保設(shè)備制造與安裝合同3篇
- 2024年銀團(tuán)貸款合同
- 2024年知識(shí)產(chǎn)權(quán)購(gòu)買(mǎi)協(xié)議
- 2024年貓咪銷(xiāo)售合同:規(guī)范市場(chǎng)交易的典范
- GB/T 44890-2024行政許可工作規(guī)范
- 軍工合作合同范例
- 2025年中國(guó)稀土集團(tuán)總部部分崗位社會(huì)公開(kāi)招聘管理單位筆試遴選500模擬題附帶答案詳解
- 超市柜臺(tái)長(zhǎng)期出租合同范例
- 廣東省廣州市2025屆高三上學(xué)期12月調(diào)研測(cè)試語(yǔ)文試題(含答案)
- 【8物(科)期末】合肥市第四十五中學(xué)2023-2024學(xué)年八年級(jí)上學(xué)期期末物理試題
- 統(tǒng)編版2024-2025學(xué)年三年級(jí)語(yǔ)文上冊(cè)期末學(xué)業(yè)質(zhì)量監(jiān)測(cè)試卷(含答案)
- 從0 開(kāi)始運(yùn)營(yíng)抖?音號(hào)sop 文檔
- Module7 Unit2 This little girl can't walk(Period 1) (教學(xué)實(shí)錄) -2024-2025學(xué)年外研版(三起)英語(yǔ)五年級(jí)上冊(cè)
- 2024年01月11190當(dāng)代中國(guó)政治制度期末試題答案
- 2024-2025學(xué)年深圳市初三適應(yīng)性考試模擬試卷歷史試卷
評(píng)論
0/150
提交評(píng)論