從Excel到Python:用Python輕松處理Excel數(shù)據(jù)_第1頁(yè)
從Excel到Python:用Python輕松處理Excel數(shù)據(jù)_第2頁(yè)
從Excel到Python:用Python輕松處理Excel數(shù)據(jù)_第3頁(yè)
從Excel到Python:用Python輕松處理Excel數(shù)據(jù)_第4頁(yè)
從Excel到Python:用Python輕松處理Excel數(shù)據(jù)_第5頁(yè)
已閱讀5頁(yè),還剩248頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

從Excel到Python用Python輕松處理Excel數(shù)據(jù)目錄TOC\h\h第1章Python基礎(chǔ)——學(xué)習(xí)Python必知必會(huì)\h1.1什么是Python\h1.2為什么要學(xué)習(xí)用Python處理Excel表格\h1.3手把手教你安裝Python\h1.3.1下載Python\h1.3.2安裝Python\h1.3.3驗(yàn)證是否安裝成功\h1.4安裝Python集成開(kāi)發(fā)工具PyCharm\h1.4.1下載PyCharm\h1.4.2安裝PyCharm\h1.4.3設(shè)置PyCharm\h1.4.4創(chuàng)建項(xiàng)目\h1.5Python的輸出與輸入\h1.5.1輸出\h1.5.2輸入\h1.6Python的代碼注釋\h1.6.1單行注釋\h1.6.2多行注釋\h1.7Python對(duì)象詳解\h1.7.1類(lèi)的定義\h1.7.2對(duì)象的身份\h1.7.3對(duì)象的類(lèi)型\h1.7.4對(duì)象的值\h1.7.5對(duì)象的屬性\h1.7.6對(duì)象的方法\h1.7.7對(duì)象與變量\h1.8Python中的數(shù)字與字符串\h1.8.1數(shù)字\h1.8.2字符串\h1.9算術(shù)運(yùn)算符\h1.9.1加(+)\h1.9.2減(-)\h1.9.3乘(*)\h1.9.4除(/)\h1.9.5取模(%)\h1.9.6冪(**)\h1.9.7取整數(shù)(//)\h1.10比較運(yùn)算符\h1.10.1等于(==)\h1.10.2不等于(!=)\h1.10.3大于(>)\h1.10.4小于(<)\h1.10.5大于或等于(>=)\h1.10.6小于或等于(<=)\h1.11賦值運(yùn)算符\h1.11.1賦值運(yùn)算\h1.11.2累積式賦值運(yùn)算\h1.12邏輯運(yùn)算符\h1.12.1and(與)\h1.12.2or(或)\h1.12.3not(非)\h1.13成員運(yùn)算符\h1.14格式化字符串\h1.14.1使用位置和關(guān)鍵字格式化字符串\h1.14.2數(shù)字格式設(shè)置\h1.14.3對(duì)齊設(shè)置\h1.15斷點(diǎn)調(diào)試\h第2章Python庫(kù)——第三方庫(kù)的安裝與學(xué)習(xí)\h2.1什么是模塊、包、庫(kù)\h2.2安裝Excel讀取庫(kù)xlrd\h2.3xlrd模塊導(dǎo)入\h2.4讀取Excel工作簿、工作表信息\h2.4.1讀取Excel工作簿\h2.4.2讀取Excel工作表\h2.5讀取Excel行、列、單元格信息\h2.6安裝Excel寫(xiě)入庫(kù)xlwt\h2.7新建工作簿、新建工作表和將數(shù)據(jù)寫(xiě)入單元格\h2.8安裝Excel修改庫(kù)xlutils\h2.9修改工作簿、工作表、單元格\h第3章Python流程控制——循環(huán)語(yǔ)句與分支語(yǔ)句\h3.1for循環(huán)語(yǔ)句\h3.1.1循環(huán)字符串\h3.1.2循環(huán)序列數(shù)\h3.1.3for循環(huán)語(yǔ)句應(yīng)用案例:批量新建工作簿\h3.1.4for嵌套循環(huán)語(yǔ)句\h3.1.5for嵌套循環(huán)語(yǔ)句應(yīng)用案例:制作九九乘法表\h3.2while循環(huán)語(yǔ)句\h3.2.1循環(huán)序列數(shù)\h3.2.2循環(huán)字符串\h3.2.3while循環(huán)語(yǔ)句應(yīng)用案例:批量新建工作表\h3.2.4while嵌套循環(huán)語(yǔ)句\h3.2.5while嵌套循環(huán)語(yǔ)句應(yīng)用案例:批量新建工作簿、工作表\h3.3if條件語(yǔ)句\h3.3.1if條件語(yǔ)句標(biāo)準(zhǔn)用法\h3.3.2if條件語(yǔ)句應(yīng)用案例:根據(jù)分?jǐn)?shù)判斷等級(jí)\h3.4if條件分支語(yǔ)句\h3.4.1if條件分支語(yǔ)句標(biāo)準(zhǔn)用法\h3.4.2if條件分支語(yǔ)句單行寫(xiě)法\h3.4.3if條件分支語(yǔ)句應(yīng)用案例:對(duì)數(shù)字進(jìn)行分類(lèi)計(jì)數(shù)\h3.5if多條件分支語(yǔ)句\h3.5.1if多條件分支語(yǔ)句標(biāo)準(zhǔn)用法\h3.5.2if多條件分支語(yǔ)句應(yīng)用案例:對(duì)分?jǐn)?shù)進(jìn)行多等級(jí)判斷\h3.6break語(yǔ)句\h3.6.1break在while循環(huán)語(yǔ)句中的應(yīng)用\h3.6.2break在for循環(huán)語(yǔ)句中的應(yīng)用\h3.6.3break語(yǔ)句應(yīng)用案例:標(biāo)記達(dá)標(biāo)時(shí)的首個(gè)月份\h3.7continue語(yǔ)句\h3.7.1continue在while循環(huán)中的應(yīng)用\h3.7.2continue在for循環(huán)中的應(yīng)用\h3.7.3continue語(yǔ)句應(yīng)用案例\h第4章Python有序?qū)ο蟆址幚砑夹g(shù)\h4.1字符串切片\h4.1.1單字符切片\h4.1.2多字符切片\h4.1.3字符串切片應(yīng)用案例:根據(jù)身份證號(hào)判斷性別\h4.2字符串統(tǒng)計(jì)\h4.2.1統(tǒng)計(jì)字符串長(zhǎng)度\h4.2.2按條件統(tǒng)計(jì)字符串\h4.2.3字符串統(tǒng)計(jì)應(yīng)用案例:統(tǒng)計(jì)各等級(jí)出現(xiàn)的次數(shù)\h4.3字符串搜索\h4.3.1使用index函數(shù)搜索字符串位置\h4.3.2使用find函數(shù)搜索字符串位置\h4.3.3字符串搜索應(yīng)用案例:提取指定位置的信息\h4.4字符串替換\h4.4.1字符串替換方法\h4.4.2字符串替換應(yīng)用案例:整理不規(guī)范的分隔符\h4.5字符串拆分與合并\h4.5.1拆分字符串為列表\h4.5.2合并列表為字符串\h4.5.3字符串拆分與合并應(yīng)用案例:匯總多表中的不規(guī)范數(shù)據(jù)\h第5章Python有序?qū)ο蟆斜硖幚砑夹g(shù)\h5.1列表的創(chuàng)建與刪除\h5.2列表切片\h5.2.1單元素切片\h5.2.2多元素切片\h5.2.3列表切片應(yīng)用案例:按行對(duì)數(shù)據(jù)求平均值\h5.3列表元素的增加、刪除和修改\h5.3.1列表元素的修改\h5.3.2列表元素的增加\h5.3.3列表元素的刪除\h5.3.4列表綜合應(yīng)用案例:按行對(duì)分?jǐn)?shù)求和\h5.4列表操作符\h5.4.1列表操作符基礎(chǔ)\h5.4.2列表操作符應(yīng)用案例:按條件統(tǒng)計(jì)多工作表數(shù)據(jù)\h5.5列表推導(dǎo)式\h5.5.1標(biāo)準(zhǔn)列表推導(dǎo)式\h5.5.2列表推導(dǎo)式變異\h5.5.3嵌套列表推導(dǎo)式\h5.5.4條件列表推導(dǎo)式\h5.5.5列表推導(dǎo)式應(yīng)用案例1:自動(dòng)匯總多工作表數(shù)據(jù)\h5.5.6列表推導(dǎo)式應(yīng)用案例2:匯總多工作簿數(shù)據(jù)\h5.6列表的轉(zhuǎn)換\h5.6.1類(lèi)對(duì)象轉(zhuǎn)換list\h5.6.2反轉(zhuǎn)列表reverse\h5.6.3列表復(fù)制copy\h5.6.4列表組合zip\h5.6.5列表轉(zhuǎn)換應(yīng)用案例:給名單中的姓名添加序號(hào)\h5.7列表常用統(tǒng)計(jì)方式\h5.7.1常用統(tǒng)計(jì)函數(shù)1\h5.7.2列表統(tǒng)計(jì)應(yīng)用案例1:統(tǒng)計(jì)每個(gè)人全年工資信息\h5.7.3常用統(tǒng)計(jì)函數(shù)2\h5.7.4列表統(tǒng)計(jì)應(yīng)用案例2:按等級(jí)做計(jì)數(shù)統(tǒng)計(jì)\h第6章Python有序?qū)ο蟆M處理技術(shù)\h6.1元組的創(chuàng)建與刪除\h6.2元組的基本操作\h6.2.1元組的合并\h6.2.2元組的復(fù)制\h6.2.3元組的循環(huán)\h6.2.4類(lèi)對(duì)象轉(zhuǎn)換\h6.2.5元組應(yīng)用案例:將單列數(shù)據(jù)轉(zhuǎn)換為多行多列數(shù)據(jù)\h6.3元組常用統(tǒng)計(jì)函數(shù)\h第7章Python無(wú)序?qū)ο蟆值涮幚砑夹g(shù)\h7.1字典的基礎(chǔ)操作\h7.1.1字典的創(chuàng)建與刪除\h7.1.2字典中鍵值的獲取\h7.2字典鍵值的修改、增加和刪除\h7.2.1字典鍵值的增加\h7.2.2字典鍵值的刪除\h7.2.3字典鍵值的修改\h7.2.4字典鍵值應(yīng)用案例1:提取各班最后一條記錄\h7.2.5字典鍵值應(yīng)用案例2:按姓名求總分與平均分\h7.3字典的轉(zhuǎn)換\h7.3.1類(lèi)對(duì)象轉(zhuǎn)換dict\h7.3.2dict.fromkeys轉(zhuǎn)換法\h7.3.3字典轉(zhuǎn)換應(yīng)用案例:多列求唯一值\h7.4字典綜合應(yīng)用案例\h7.4.1字典綜合應(yīng)用案例1:獲取未完成名單\h7.4.2字典綜合應(yīng)用案例2:多工作簿數(shù)據(jù)合并\h7.4.3字典綜合應(yīng)用案例3:數(shù)據(jù)統(tǒng)計(jì)并分發(fā)至不同工作簿\h第8章Python無(wú)序?qū)ο蟆咸幚砑夹g(shù)\h8.1集合的創(chuàng)建與刪除\h8.2集合元素的添加與刪除\h8.2.1集合元素的添加\h8.2.2集合元素的刪除\h8.2.3集合元素的添加應(yīng)用案例:多列求唯一值\h8.3集合之間的大小比較\h8.3.1集合的比較運(yùn)算\h8.3.2集合比較運(yùn)算應(yīng)用案例:判斷指定的多個(gè)等級(jí)是否存在\h8.4集合的轉(zhuǎn)換\h8.4.1類(lèi)對(duì)象轉(zhuǎn)換set\h8.4.2集合轉(zhuǎn)換應(yīng)用案例:獲取每個(gè)工作表中不重復(fù)的名單\h8.5集合的運(yùn)算\h8.5.1并集運(yùn)算\h8.5.2交集運(yùn)算\h8.5.3差集運(yùn)算\h8.5.4對(duì)稱(chēng)差集運(yùn)算\h8.5.5集合運(yùn)算小結(jié)\h8.6集合運(yùn)算應(yīng)用案例\h8.6.1集合的并集應(yīng)用案例:多表多列求唯一值\h8.6.2集合的交集應(yīng)用案例:多列求相同值\h8.6.3集合的差集應(yīng)用案例:根據(jù)達(dá)標(biāo)月份獲取不達(dá)標(biāo)月份\h第9章優(yōu)化代碼利器——Python自定義函數(shù)\h9.1自定義函數(shù)編寫(xiě)規(guī)范\h9.1.1函數(shù)的定義\h9.1.2自定義函數(shù)的創(chuàng)建與調(diào)用\h9.1.3自定義函數(shù)應(yīng)用案例:平均函數(shù)的定義及應(yīng)用\h9.2必選參數(shù)的寫(xiě)法及應(yīng)用\h9.2.1必選參數(shù)(位置參數(shù))\h9.2.2必選參數(shù)應(yīng)用案例:給號(hào)碼分段\h9.3可選參數(shù)的寫(xiě)法及應(yīng)用\h9.3.1可選參數(shù)(默認(rèn)參數(shù))\h9.3.2可選參數(shù)應(yīng)用案例:模擬vlookup函數(shù)的應(yīng)用\h9.4關(guān)鍵字參數(shù)的寫(xiě)法及應(yīng)用\h9.4.1關(guān)鍵字參數(shù)\h9.4.2關(guān)鍵字參數(shù)應(yīng)用案例:分類(lèi)合并字符串\h9.5不定長(zhǎng)參數(shù)的寫(xiě)法及應(yīng)用\h9.5.1不定長(zhǎng)參數(shù)1\h9.5.2不定長(zhǎng)參數(shù)2\h9.5.3不定長(zhǎng)參數(shù)應(yīng)用案例:替換函數(shù)增強(qiáng)版\h9.6匿名函數(shù)的寫(xiě)法及應(yīng)用\h9.6.1匿名函數(shù)的語(yǔ)法結(jié)構(gòu)\h9.6.2匿名函數(shù)的常見(jiàn)書(shū)寫(xiě)方式\h9.6.3匿名函數(shù)應(yīng)用案例:根據(jù)身份證號(hào)判斷性別\h9.7自定義函數(shù)存放在.py文件中\(zhòng)h9.7.1函數(shù)定義在單獨(dú).py文件中\(zhòng)h9.7.2函數(shù)定義在文件夾中\(zhòng)h第10章Python高級(jí)函數(shù)——常用高階函數(shù)應(yīng)用\h10.1map轉(zhuǎn)換函數(shù)\h10.1.1map函數(shù)的第1個(gè)參數(shù)為內(nèi)置函數(shù)\h10.1.2map函數(shù)的第1個(gè)參數(shù)為自定義函數(shù)\h10.1.3map函數(shù)的第1個(gè)參數(shù)為匿名函數(shù)\h10.1.4map函數(shù)的第1個(gè)參數(shù)是多參數(shù)\h10.1.5高階函數(shù)map應(yīng)用案例:轉(zhuǎn)換二維表為一維表\h10.2filter篩選函數(shù)\h10.2.1使用filter篩選函數(shù)篩選列表\h10.2.2高階函數(shù)filter應(yīng)用案例:計(jì)算美式排名、中式排名\h10.3排序函數(shù)sort與sorted\h10.3.1排序函數(shù)sort\h10.3.2排序函數(shù)sorted\h10.3.3高階函數(shù)sort應(yīng)用案例:對(duì)字符串中的數(shù)據(jù)排序\h10.3.4高階函數(shù)sorted應(yīng)用案例:改進(jìn)美式排名和中式排名的算法\h第11章優(yōu)秀的Python第三方庫(kù)——openpyxl庫(kù)\h11.1安裝openpyxl庫(kù)\h11.2工作簿的基本操作\h11.2.1工作簿的新建\h11.2.2工作簿的讀取\h11.2.3工作簿應(yīng)用案例:批量新建工作簿\h11.3工作表的基本操作\h11.3.1工作表的新建\h11.3.2工作表的讀取\h11.3.3工作表的復(fù)制\h11.3.4工作表的移動(dòng)\h11.3.5工作表的刪除\h11.3.6工作表應(yīng)用案例1:批量新建工作表\h11.3.7工作表應(yīng)用案例2:批量復(fù)制工作表并修改工作表名稱(chēng)\h11.3.8工作表應(yīng)用案例3:拆分多個(gè)工作表到多個(gè)工作簿\h11.4單元格的基本操作\h11.4.1單元格的讀取\h11.4.2單元格區(qū)域的讀取\h11.4.3行信息的獲取\h11.4.4列信息的獲取\h11.4.5單元格的寫(xiě)入\h11.4.6單元格應(yīng)用案例1:制作九九乘法表\h11.4.7單元格應(yīng)用案例2:求每個(gè)人各科分?jǐn)?shù)之和\h11.4.8單元格應(yīng)用案例3:多工作表數(shù)據(jù)合并\h11.4.9單元格應(yīng)用案例4:多工作簿數(shù)據(jù)合并\h11.5工作表的其他操作\h11.5.1插入與刪除行和列\(zhòng)h11.5.2移動(dòng)單元格\h11.5.3刪除行和列應(yīng)用案例:按條件篩選數(shù)據(jù)\h11.5.4插入行和列應(yīng)用案例:批量制作工資條\h第12章Python與Excel結(jié)合使用——綜合應(yīng)用案例\h12.1綜合應(yīng)用案例1:自定義排序\h12.2綜合應(yīng)用案例2:按行各自排序法\h12.3綜合應(yīng)用案例3:整理不規(guī)范數(shù)據(jù)\h12.4綜合應(yīng)用案例4:將一維表轉(zhuǎn)換為二維表\h12.5綜合應(yīng)用案例5:根據(jù)業(yè)績(jī)計(jì)算提成金額\h12.6綜合應(yīng)用案例6:查詢(xún)業(yè)績(jī)表中每個(gè)月的最高業(yè)績(jī)記錄\h12.7綜合應(yīng)用案例7:二維表的多種匯總方式\h12.8綜合應(yīng)用案例8:按多列分組匯總\h12.9綜合應(yīng)用案例9:多工作簿數(shù)據(jù)匯總\h12.10綜合應(yīng)用案例10:計(jì)劃招生與實(shí)際招生對(duì)比第1章Python基礎(chǔ)——學(xué)習(xí)Python必知必會(huì)本章主要講解學(xué)習(xí)Python的必要性、下載并安裝Python、安裝Python集成開(kāi)發(fā)工具PyCharm、Python的輸入與輸出、Python的代碼注釋、Python中對(duì)象的概念、Python中的數(shù)字和字符串、Python編程常用的運(yùn)算符、格式化字符串、調(diào)試Python中的代碼等。1.1什么是Python近年來(lái),大數(shù)據(jù)、人工智能、機(jī)器學(xué)習(xí)的火熱使得越來(lái)越多的人開(kāi)始關(guān)注Python,那么Python到底是什么呢?Python是一門(mén)比較容易學(xué)習(xí)的開(kāi)源語(yǔ)言,也是一種解釋型且面向?qū)ο蟮膭?dòng)態(tài)數(shù)據(jù)類(lèi)型的高級(jí)程序設(shè)計(jì)語(yǔ)言。Python應(yīng)用場(chǎng)景廣泛,在Web開(kāi)發(fā)、網(wǎng)絡(luò)編程、爬蟲(chóng)、云計(jì)算、人工智能、自動(dòng)化運(yùn)維、數(shù)據(jù)分析、游戲開(kāi)發(fā)等領(lǐng)域都有應(yīng)用。1.2為什么要學(xué)習(xí)用Python處理Excel表格Excel是一款功能強(qiáng)大的電子表格軟件,但是再?gòu)?qiáng)大的軟件也有短板,比如在做一些批量的、重復(fù)性的工作或進(jìn)行數(shù)據(jù)分析時(shí),如果Excel自帶的功能不能完成,就必須用Excel中的VBA語(yǔ)言來(lái)做二次開(kāi)發(fā)。VBA雖然強(qiáng)大,但應(yīng)用范圍沒(méi)有Python的應(yīng)用范圍廣泛,而且VBA只局限于在指定的軟件中使用,而Python是沒(méi)有約束的,有著豐富的內(nèi)置庫(kù)和第三方庫(kù),功能擴(kuò)展更為靈活。未來(lái)的職場(chǎng)人員掌握一門(mén)編程語(yǔ)言將是標(biāo)配。對(duì)于非IT專(zhuān)業(yè)的人士來(lái)說(shuō),要學(xué)習(xí)一門(mén)編程語(yǔ)言,何其難也。即使Python易學(xué)易懂,但對(duì)于普通職場(chǎng)人員來(lái)說(shuō)還是太難了。如果沒(méi)有熟悉的案例來(lái)輔助學(xué)習(xí),學(xué)習(xí)過(guò)程也是非常枯燥的。因此,本書(shū)以處理Excel數(shù)據(jù)為切入點(diǎn)來(lái)講解Python,讓讀者不但學(xué)會(huì)處理數(shù)據(jù)的更多方法,而且也初步掌握了一門(mén)編程語(yǔ)言,相當(dāng)于給了讀者一把打開(kāi)編程大門(mén)的鑰匙,為工作提供更多、更好的解決方案。1.3手把手教你安裝Python在學(xué)習(xí)Python之前,需要安裝Python解釋器,如果用戶(hù)使用的是Windows操作系統(tǒng),那么下載的Python解釋器必須支持Windows操作系統(tǒng)。1.3.1下載Python在瀏覽器的地址欄中輸入Python的官方網(wǎng)址,按Enter鍵打開(kāi)網(wǎng)站首頁(yè)。在本書(shū)中,Python的運(yùn)行環(huán)境是Windows操作系統(tǒng),所以下載Windows版本的Python即可。在Python網(wǎng)站首頁(yè)中,單擊【Downloads】菜單中的【W(wǎng)indows】選項(xiàng),然后選擇對(duì)應(yīng)的下載方式,如圖1-1所示。這里說(shuō)明一下下載方式中不同單詞的意義。圖1-1選擇對(duì)應(yīng)的下載方式Windowsx86-64:適用于64位Windows操作系統(tǒng)。Windowsx86:適用于32位Windows操作系統(tǒng)。embeddablezipfile:解壓安裝,下載的是一個(gè)壓縮文件,解壓后即安裝完成。executableinstaller:程序安裝,下載的是一個(gè)EXE可執(zhí)行程序,雙擊即可進(jìn)行安裝。web-basedinstaller:在線安裝,下載的是一個(gè)EXE可執(zhí)行程序,雙擊后,該程序自動(dòng)下載安裝文件(需要有網(wǎng)絡(luò))并進(jìn)行安裝。筆者在編寫(xiě)此書(shū)時(shí),Python的最新版本是3.7.4,后續(xù)Python官網(wǎng)會(huì)持續(xù)更新,可能讀者看到的最新版本和本書(shū)的不一樣。這里筆者選擇的是“DownloadWindowsx86-64executableinstaller”下載方式。下載完成后,桌面上有一個(gè)壓縮文件圖標(biāo),如圖1-2所示。圖1-2壓縮文件圖標(biāo)1.3.2安裝PythonPython安裝包下載完成后,就可以安裝了,安裝步驟如下。第1步:將鼠標(biāo)指針?lè)旁赑ython壓縮文件上,然后右擊,在彈出的快捷菜單中選擇【以管理員身份運(yùn)行】命令,如圖1-3所示。圖1-3在快捷菜單中選擇【以管理員身份運(yùn)行】命令第2步:在彈出的對(duì)話框中選中【Installlauncherforallusers(recommended)】和【AddPython3.7toPATH】復(fù)選框,如圖1-4所示。這兩個(gè)選項(xiàng)的含義如下?!瘛綢nstalllauncherforallusers(recommended)】:為所有用戶(hù)安裝啟動(dòng)程序(推薦),這樣每個(gè)Windows賬戶(hù)都可以使用。●【AddPython3.7toPATH】:添加到PATH,即把Python的安裝路徑添加到系統(tǒng)環(huán)境變量PATH中。圖1-4所示的對(duì)話框中還提供了兩種安裝方式,分別為【InstallNow】和【Customizeinstallation】。●【InstallNow】:默認(rèn)設(shè)置安裝,自動(dòng)安裝Python到C盤(pán)中?!瘛綜ustomizeinstallation】:自定義安裝,用戶(hù)可設(shè)置自己的Python使用環(huán)境。推薦使用這種安裝方式。圖1-4安裝設(shè)置1選擇【Customizeinstallation】安裝方式后會(huì)自動(dòng)打開(kāi)下一個(gè)對(duì)話框。第3步:在彈出的對(duì)話框中勾選所有復(fù)選框,然后單擊【Next】按鈕,如圖1-5所示。圖1-5安裝設(shè)置2下面介紹圖1-5中各選項(xiàng)的含義。●【Documentation】復(fù)選框:Documentation是Python英文版技術(shù)手冊(cè),也就是入門(mén)指南,這個(gè)必須安裝?!瘛緋ip】復(fù)選框:pip是Python包管理工具,該工具提供對(duì)Python包進(jìn)行查找、下載、安裝、卸載等功能?!瘛総cl/tkandIDLE】復(fù)選框:IDLE是Python軟件包自帶的一個(gè)集成開(kāi)發(fā)環(huán)境,初學(xué)者可以利用它方便地創(chuàng)建、運(yùn)行、測(cè)試和調(diào)試Python程序。測(cè)試安裝是否成功的操作就是由它來(lái)執(zhí)行的。●【Pythontestsuite】復(fù)選框:Python測(cè)試容器,用戶(hù)項(xiàng)目開(kāi)發(fā)時(shí)的錯(cuò)誤原因就是由它來(lái)判斷與提示的?!瘛緋ylauncher】復(fù)選框:Python的桌面快捷方式,可以更方便地啟動(dòng)Python?!瘛緁orallusers(requireselevation)】復(fù)選框:給所有用戶(hù)安裝快捷方式,要求有管理員權(quán)限。第4步:在彈出的對(duì)話框中勾選所有復(fù)選框,默認(rèn)安裝路徑為“C:\ProgramFiles\Python37”,這里選擇安裝在“D:\Python”目錄下,如圖1-6所示。用戶(hù)也可以根據(jù)實(shí)際情況修改安裝路徑,完成后單擊【Install】按鈕。圖1-6安裝設(shè)置3下面介紹圖1-6中各選項(xiàng)的含義。●【Installforallusers】復(fù)選框:為所有用戶(hù)安裝Python?!瘛続ssociatefileswithPython(requiresthepylauncher)】復(fù)選框:關(guān)聯(lián)所有Python相關(guān)文件。●【Createshortcutsforinstalledapplications】復(fù)選框:創(chuàng)建桌面快捷方式?!瘛続ddPythontoenvironmentvariables】復(fù)選框:添加環(huán)境變量,選擇該復(fù)選框后,在CMD里直接輸入py就可以打開(kāi)Python控制臺(tái)程序。建議勾選此復(fù)選框。●【Precompilestandardlibrary】復(fù)選框:預(yù)編譯公共庫(kù),可提升運(yùn)行速度。建議勾選此復(fù)選框?!瘛綝ownloaddebuggingsymbols】復(fù)選框:下載調(diào)試符號(hào),符號(hào)用于在調(diào)試時(shí)定位出錯(cuò)的代碼行數(shù)。用戶(hù)的Python如果用作開(kāi)發(fā)環(huán)境,則推薦勾選此復(fù)選框;如果用作運(yùn)行環(huán)境,則可以不勾選?!瘛綝ownloaddebugbinaries(requiresVS2015orlater)】復(fù)選框:下載用于VS的調(diào)試符號(hào)。如果不使用VS作為開(kāi)發(fā)工具,則無(wú)須勾選。●【Customizeinstalllocation】文本框:用于設(shè)置Python的安裝目錄。第5步:設(shè)置好安裝選項(xiàng)后,正式開(kāi)始安裝,只需要等待即可,如圖1-7所示。圖1-7正在安裝程序第6步:安裝完成后,會(huì)彈出Setupwassuccessful對(duì)話框,表示Python安裝成功,單擊【Close】按鈕關(guān)閉即可,如圖1-8所示。圖1-8安裝成功1.3.3驗(yàn)證是否安裝成功安裝完P(guān)ython程序之后,可以做一個(gè)測(cè)試來(lái)驗(yàn)證是否安裝成功,操作步驟如下。第1步:在Windows操作系統(tǒng)左下角的【開(kāi)始】按鈕上右擊,在彈出的快捷菜單中選擇【運(yùn)行】命令,如圖1-9所示。還有一種快捷方式,就是按Windows+R組合鍵。圖1-9在快捷菜單中選擇【運(yùn)行】命令第2步:彈出【運(yùn)行】對(duì)話框,在【打開(kāi)】文本框中輸入命令“cmd”,然后單擊【確定】按鈕,如圖1-10所示。圖1-10輸入命令并單擊【確定】按鈕第3步:在打開(kāi)的命令提示符對(duì)話框中輸入“python”或“py”,再按Enter鍵,這時(shí)會(huì)顯示與Python相關(guān)的版本信息,進(jìn)入Python交互模式,表明安裝成功,如圖1-11所示。圖1-11顯示與Python相關(guān)的版本信息1.4安裝Python集成開(kāi)發(fā)工具PyCharmPyCharm是一個(gè)PythonIDE,帶有一整套可以幫助用戶(hù)在使用Python語(yǔ)言開(kāi)發(fā)時(shí)提高效率的工具,比如調(diào)試、語(yǔ)法高亮、工程管理、代碼跳轉(zhuǎn)、智能提示、單元測(cè)試、版本控制等。1.4.1下載PyCharm第1步:打開(kāi)PyCharm官方網(wǎng)站后,會(huì)彈出如圖1-12所示的界面,單擊【DOWNLOAD】按鈕。圖1-12單擊【DOWNLOAD】按鈕第2步:彈出一個(gè)新界面,如圖1-13所示,這里提供了支持Windows、macOS、Linux三種操作系統(tǒng)的PyCharm。本書(shū)基于Windows環(huán)境進(jìn)行講解,所以選擇【W(wǎng)indows】選項(xiàng),該選項(xiàng)下有Professional(專(zhuān)業(yè)版、收費(fèi))和Community(社區(qū)版、免費(fèi)),單擊Community下的【DOWNLOAD】按鈕進(jìn)行下載。圖1-13彈出的新界面1.4.2安裝PyCharmPyCharm下載完成后,就可以安裝了,安裝步驟如下。第1步:將鼠標(biāo)指針指向下載好的PyCharm安裝包,然后右擊,在彈出的快捷菜單中選擇【以管理員身份運(yùn)行】命令,如圖1-14所示。圖1-14在快捷菜單中選擇【以管理員身份運(yùn)行】命令第2步:在打開(kāi)的對(duì)話框中單擊【Next】按鈕,繼續(xù)進(jìn)行安裝,如圖1-15所示。圖1-15單擊【Next】按鈕第3步:在打開(kāi)的對(duì)話框中將PyCharm的安裝目錄設(shè)置為“D:\PyCharm”,然后單擊【Next】按鈕,如圖1-16所示。圖1-16設(shè)置安裝目錄第4步:在打開(kāi)的對(duì)話框中勾選【64-bitlauncher】復(fù)選框,如圖1-17所示,表示在桌面上創(chuàng)建PyCharm程序的快捷方式,完成后單擊【Next】按鈕。圖1-17勾選【64-bitlauncher】復(fù)選框圖1-17中各個(gè)選項(xiàng)的含義如下。●【CreateDesktopShortcut】:創(chuàng)建桌面快捷方式,如果需要,可勾選下面的【64-bitlauncher】復(fù)選框。●【UpdatePATHvariable(restartneeded)】:將PyCharm的啟動(dòng)目錄添加到環(huán)境變量(需要重啟)中,如果需要使用命令行操作PyCharm,則勾選下面的【AddlaunchersdirtothePATH】復(fù)選框?!瘛綰pdatecontextmenu】:添加快捷菜單,使用打開(kāi)項(xiàng)目的方式打開(kāi)文件夾。如果用戶(hù)經(jīng)常需要下載別人的代碼進(jìn)行查看,可以勾選下面的【Add"OpenFolderasProject"】復(fù)選框,增加快捷菜單選項(xiàng)?!瘛綜reateAssociations】:勾選下面的【.py】復(fù)選框,可將所有.py文件關(guān)聯(lián)到PyCharm,也就是雙擊計(jì)算機(jī)中的.py文件,會(huì)默認(rèn)使用PyCharm打開(kāi)。第5步:打開(kāi)如圖1-18所示的對(duì)話框,做好PyCharm的相關(guān)設(shè)置后,單擊【Install】按鈕開(kāi)始安裝程序。圖1-18單擊【Install】按鈕安裝程序第6步:彈出如圖1-19所示的對(duì)話框,等待安裝即可。圖1-19正在安裝對(duì)話框第7步:安裝完成后,彈出如圖1-20所示的對(duì)話框,可以勾選【RunPyCharmCommunityEdition】復(fù)選框,馬上運(yùn)行PyCharm程序,這里暫時(shí)不勾選該復(fù)選框,單擊【Finish】按鈕,安裝成功。圖1-20安裝成功對(duì)話框1.4.3設(shè)置PyCharm安裝好PyCharm后,還要進(jìn)行相關(guān)的設(shè)置,設(shè)置PyCharm的步驟如下。第1步:在桌面上雙擊PyCharm圖標(biāo),首次運(yùn)行PyCharm時(shí),會(huì)彈出設(shè)置對(duì)話框。如果之前使用過(guò)PyCharm并進(jìn)行過(guò)相關(guān)的設(shè)置,則在此處選擇【Configorinstallationfolder】單選按鈕;如果沒(méi)有使用過(guò),則選擇【Donotimportsettings】單選按鈕,然后單擊【OK】按鈕,如圖1-21所示。圖1-21設(shè)置對(duì)話框第2步:彈出用戶(hù)使用軟件的相關(guān)協(xié)議對(duì)話框,選擇【IconfirmthatIhavereadandacceptthetermsofthisUserAgreement】復(fù)選框后,單擊【Continue】按鈕,如圖1-22所示。圖1-22用戶(hù)使用軟件的相關(guān)協(xié)議對(duì)話框第3步:在彈出的對(duì)話框中確定是否需要進(jìn)行數(shù)據(jù)共享。這里單擊【Don'tsend】按鈕,不進(jìn)行數(shù)據(jù)共享,如圖1-23所示。圖1-23單擊【Don'tsend】按鈕第4步:在彈出的對(duì)話框中選擇主題,左邊為【Darcula】(黑色主題),右邊為【Light】(白色主題)。用戶(hù)可根據(jù)需要進(jìn)行選擇,這里選擇的是【Light】,然后單擊【Next:Featuredplugins】按鈕,如圖1-24所示。圖1-24選擇主題第5步:彈出如圖1-25所示的對(duì)話框,可以安裝插件,也可以不安裝插件。這里不安裝插件,直接單擊【StartusingPyCharm】按鈕,啟動(dòng)PyCharm程序。圖1-25選擇是否安裝插件1.4.4創(chuàng)建項(xiàng)目完成PyCharm設(shè)置后,就可以開(kāi)始創(chuàng)建Python項(xiàng)目了,創(chuàng)建步驟如下。第1步:設(shè)置Python后,會(huì)彈出如圖1-26所示的對(duì)話框,【CreateNewProject】選項(xiàng)表示創(chuàng)建新項(xiàng)目,【Open】選項(xiàng)表示打開(kāi)已經(jīng)存在的項(xiàng)目。這里創(chuàng)建一個(gè)新項(xiàng)目,所以選擇【CreateNewProject】選項(xiàng)。圖1-26創(chuàng)建PyCharm項(xiàng)目對(duì)話框第2步:在彈出的對(duì)話框中將項(xiàng)目創(chuàng)建在“D:\PycharmProjects”文件夾中,單擊【ProjectInterpreter:Python3.7】下拉按鈕,會(huì)顯示【Newenvironmentusing】和【Existinginterpreter】?jī)蓚€(gè)選項(xiàng)。●【Newenvironmentusing】:默認(rèn)選項(xiàng),為項(xiàng)目創(chuàng)建一個(gè)新的環(huán)境。選擇該單選按鈕后,“D:\PycharmProjects\venv”文件夾中會(huì)存放一個(gè)虛擬的Python環(huán)境,所有的類(lèi)庫(kù)依賴(lài)都可以直接脫離系統(tǒng)安裝的Python獨(dú)立運(yùn)行。如果用戶(hù)要?jiǎng)?chuàng)建多個(gè)項(xiàng)目,那么最好選擇此默認(rèn)選項(xiàng)?!瘛綞xistinginterpreter】:表示關(guān)聯(lián)已經(jīng)存在的Python解釋器,如果不想在項(xiàng)目中出現(xiàn)venv虛擬解釋器,可以選擇本地安裝的Python環(huán)境。這里選擇【Existinginterpreter】單選按鈕,然后單擊【Create】按鈕,如圖1-27所示。圖1-27選擇本地安裝的Python環(huán)境第3步:在彈出的對(duì)話框中取消選擇【Showtipsonstartup】復(fù)選框,表示取消顯示歡迎界面,然后單擊【Close】按鈕,如圖1-28所示。圖1-28取消顯示歡迎界面第4步:在彈出的界面中將鼠標(biāo)指針指向【PycharmProjects】文件夾,右擊后在彈出的快捷菜單中選擇【New】→【PythonFile】命令,彈出【NewPythonfile】對(duì)話框,輸入文件的名稱(chēng),如“demo”,如圖1-29所示。最后按Enter鍵,完成Python文件的創(chuàng)建。圖1-29創(chuàng)建Python文件第5步:此時(shí)就可以在“demo.py”文件中編寫(xiě)Python代碼了,如圖1-30所示。圖1-30編寫(xiě)Python代碼1.5Python的輸出與輸入將Python程序和PyCharm編輯器安裝好之后,就可以編寫(xiě)和運(yùn)行Python代碼了。一般在學(xué)習(xí)編程語(yǔ)言時(shí),都要測(cè)試一下輸出和輸入效果,讓初學(xué)者有小小的成就感。1.5.1輸出一般查看輸出結(jié)果可以使用print函數(shù),案例代碼如下,代碼在“Chapter-1-1.py”文件中。在代碼上右擊,在彈出的快捷菜單中選擇【Run'Chapter-1-1'】命令,或者按【Ctrl+Shift+F10】組合鍵運(yùn)行。注意,運(yùn)行代碼的方法后續(xù)將不再贅述。運(yùn)行當(dāng)前“Chapter-1-1.py”文件,在窗口下方顯示了運(yùn)行結(jié)果“嗨!python我來(lái)了!”,代碼運(yùn)行成功,如圖1-31所示。圖1-31輸出案例1.5.2輸入讀者知道了使用print函數(shù)可以完成數(shù)據(jù)的輸出,那么如何編寫(xiě)輸入語(yǔ)句呢?一般使用input函數(shù)。案例代碼如下,代碼在“Chapter-1-2.py”文件中。運(yùn)行代碼,如圖1-32所示,窗口下面③處是運(yùn)行第1行代碼name=input('請(qǐng)輸入你的姓名:')后的結(jié)果,此時(shí)暫停,要求用戶(hù)輸入姓名,比如輸入“曾賢志”,然后按Enter鍵。程序?qū)⑤斎氲男彰x值給變量name,然后繼續(xù)運(yùn)行第2行代碼print(name),此時(shí)print函數(shù)將name變量中的值打印在屏幕上,④處顯示的是最后的輸出結(jié)果。圖1-32輸入案例在后續(xù)內(nèi)容的講解中,可能會(huì)經(jīng)常用到print和input兩個(gè)函數(shù)來(lái)做數(shù)據(jù)測(cè)試,讀者需要掌握它們。1.6Python的代碼注釋代碼注釋就是為寫(xiě)好的代碼片段添加注解。做代碼注釋有以下兩點(diǎn)好處:●能更好地維護(hù)項(xiàng)目,也能讓閱讀者更快地讀懂代碼的意思;●在做代碼調(diào)試時(shí),如果需要讓一部分代碼暫時(shí)不運(yùn)行,就可以使用注釋的方法。1.6.1單行注釋單行注釋?zhuān)醋⑨屩蛔饔糜谝恍?。在單?dú)的行寫(xiě)注釋內(nèi)容之前,要輸入“#”(井號(hào)),案例代碼如下,代碼在“Chapter-1-3.py”文件中。在PyCharm中,進(jìn)行代碼注釋也可以使用快捷鍵,選擇要注釋的行(單行或多行均可),然后按【Ctrl+/】組合鍵,如果需要取消注釋?zhuān)瑒t再按一次【Ctrl+/】組合鍵。除單獨(dú)在一行中做注釋外,也可以在代碼的后面做注釋?zhuān)咐a如下(代碼在“Chapter-1-4.py”文件中)。注意,在代碼后面做注釋?zhuān)荒苁褂谩綜trl+/】組合鍵。1.6.2多行注釋如果有大段的注釋文字要寫(xiě),則可以使用多行注釋的方法。多行注釋的內(nèi)容要包含在一對(duì)單引號(hào)中,6個(gè)單引號(hào)為一對(duì),案例代碼如下,代碼在“Chapter-1-5.py”文件中。單引號(hào)中的內(nèi)容不會(huì)被運(yùn)行。除使用單引號(hào)做注釋外,也可以使用雙引號(hào)來(lái)做注釋?zhuān)咐a如下,代碼在“Chapter-1-6.py”文件中。雙引號(hào)中的內(nèi)容也不會(huì)被運(yùn)行。到底是使用單引號(hào)做注釋?zhuān)€是使用雙引號(hào)做注釋?zhuān)瑳](méi)有強(qiáng)制規(guī)定,完全根據(jù)用戶(hù)的習(xí)慣而定。1.7Python對(duì)象詳解真實(shí)的世界是由千千萬(wàn)萬(wàn)的對(duì)象組成的。在Python的編程世界里,所有的一切也可以看作對(duì)象,比如數(shù)字、字符,以及后面將會(huì)學(xué)到的列表、元組、集合、字典、函數(shù)等。用戶(hù)可以使用這些對(duì)象,也可以在Python中創(chuàng)建自己的對(duì)象。1.7.1類(lèi)的定義類(lèi)也是一種對(duì)象,只不過(guò)它是用來(lái)創(chuàng)建對(duì)象的一種對(duì)象。類(lèi)用來(lái)描述具有相同屬性和方法的對(duì)象集合,它定義了該集合中每個(gè)對(duì)象所共有的屬性和方法,對(duì)象是類(lèi)的實(shí)例。也就是說(shuō),對(duì)象是由類(lèi)創(chuàng)建的。比如,后面的章節(jié)中會(huì)講解通過(guò)list類(lèi)來(lái)創(chuàng)建或轉(zhuǎn)換一個(gè)列表對(duì)象。1.7.2對(duì)象的身份在現(xiàn)實(shí)生活中,人就是一個(gè)類(lèi),而每一個(gè)具體的人就是對(duì)象,具體的人可以靠身份證號(hào)來(lái)進(jìn)行識(shí)別,也可以定位所在位置。Python中的對(duì)象也是有身份的,可以通過(guò)id函數(shù)來(lái)識(shí)別對(duì)象在內(nèi)存中的地址。比如,字符串'曾賢志'就是對(duì)象,輸入代碼print(id('曾賢志'))(代碼在“Chapter-1-7.py”文件中),屏幕上的輸出結(jié)果為2673213256496,這串?dāng)?shù)字就可以看作該字符串在內(nèi)存中的地址,并且具有唯一性。但是,這串?dāng)?shù)字是變化的,因此在測(cè)試代碼時(shí),每次輸出的結(jié)果可能不一樣,讀者不要為此感到困惑。1#print(id('曾賢志'))#返回?cái)?shù)字26732132564961.7.3對(duì)象的類(lèi)型雖然萬(wàn)物皆對(duì)象,但對(duì)象也有類(lèi)型之分。比如,豬、狗、牛、馬、花、草、樹(shù)、木等都是對(duì)象,但它們卻是不同的類(lèi)型,豬、狗、牛、馬是動(dòng)物類(lèi)型,花、草、樹(shù)、木是植物類(lèi)型。在Python中,99、888、'abc'都是對(duì)象,9和888是數(shù)字類(lèi)型,而'abc'是字符串類(lèi)型。不同類(lèi)型的對(duì)象有著不同的屬性和方法,遵循不同的規(guī)則。要查看對(duì)象的類(lèi)型,可以使用type函數(shù)。比如,輸入代碼print(type(99)),代碼在“Chapter-1-8.py”文件中,返回結(jié)果為<class'int'>,表示99是int類(lèi)型,也就是整數(shù)類(lèi)型。再比如,輸入代碼print(type('abc')),返回結(jié)果為<class'str'>,表示'abc'是str類(lèi)型,也就是字符串類(lèi)型。其他對(duì)象的類(lèi)型就不一一列舉了,后文中會(huì)涉及。1.7.4對(duì)象的值對(duì)象除有身份、類(lèi)型外,還有值。人的名字就可以看作值。在Python中,有的對(duì)象的值是可以改變的,有的對(duì)象的值不可以改變。比如,數(shù)字、字符、元組都是不可以改變值的對(duì)象。1.7.5對(duì)象的屬性對(duì)象的特征也稱(chēng)為屬性。比如,字符串'abcd',它的字符長(zhǎng)度為4,這個(gè)長(zhǎng)度就是該字符串的屬性。1.7.6對(duì)象的方法對(duì)象所具有的行為也可以稱(chēng)作方法。比如,對(duì)字符串'a-b-c-d'進(jìn)行拆分,這個(gè)拆分就可以說(shuō)是方法。在Python中,方法的本質(zhì)是函數(shù),在類(lèi)中定義的函數(shù)叫作方法,沒(méi)在類(lèi)中定義的函數(shù)就叫作函數(shù)。在后面的章節(jié)中將講解一些內(nèi)建的函數(shù)或方法,為方便讀者閱讀,統(tǒng)一都叫作函數(shù)。1.7.7對(duì)象與變量在編程過(guò)程中,很多時(shí)候需要給對(duì)象設(shè)置變量,相當(dāng)于給對(duì)象貼一個(gè)標(biāo)簽,這樣更方便識(shí)別。比如a=1,表示給對(duì)象1貼一個(gè)標(biāo)簽,在引用變量a進(jìn)行代碼編寫(xiě)時(shí),就相當(dāng)于在使用對(duì)象1。在命名變量時(shí),需要注意如下規(guī)則:●變量名可以由字母、數(shù)字、下畫(huà)線(_)組成,但不能以數(shù)字開(kāi)頭;●變量名不能是Python關(guān)鍵字,但可以包含關(guān)鍵字;●變量名不能包含空格;●變量名盡量取得有意義,容易讓人識(shí)別。1.8Python中的數(shù)字與字符串Python中萬(wàn)物皆對(duì)象,數(shù)字與字符串只是其中的兩種對(duì)象。為什么要先學(xué)這兩種對(duì)象呢?因?yàn)檫@兩種對(duì)象最常用,也比較容易學(xué)習(xí)。在后面的章節(jié)中將陸續(xù)講解更多的對(duì)象。1.8.1數(shù)字Python中的數(shù)字有3種類(lèi)型:整數(shù)、浮點(diǎn)數(shù)(小數(shù))、復(fù)數(shù)。有時(shí)需要對(duì)數(shù)字進(jìn)行轉(zhuǎn)換,可以使用對(duì)象的函數(shù),轉(zhuǎn)換為整數(shù)使用int函數(shù),轉(zhuǎn)換為小數(shù)使用float函數(shù),轉(zhuǎn)換為復(fù)數(shù)使用complex函數(shù)。將字符串'99'賦值給num變量,看看不同函數(shù)對(duì)num變量處理的不同結(jié)果。案例代碼如下,代碼在“Chapter-1-9.py”文件中。第3行代碼print(num),使用print函數(shù)輸出num變量的值,結(jié)果為'99'。再運(yùn)行第4行代碼print(type(num)),使用type函數(shù)測(cè)試出該變量為<class'str'>類(lèi)型,也就是字符串型數(shù)字。第6行代碼print(int(num)),使用int函數(shù)對(duì)num變量進(jìn)行轉(zhuǎn)換,結(jié)果為99。再運(yùn)行第7行代碼print(type(int(num))),使用type函數(shù)測(cè)試出該變量為<class'int'>類(lèi)型,也就是整型數(shù)字。第9行代碼print(float(num)),使用float函數(shù)對(duì)num變量進(jìn)行轉(zhuǎn)換,結(jié)果為99.0。再運(yùn)行第10行代碼print(type(float(num))),使用type函數(shù)測(cè)試出該變量為<class'float'>類(lèi)型,也就是浮點(diǎn)型數(shù)字。第12行代碼print(complex(num)),使用complex函數(shù)對(duì)num變量進(jìn)行轉(zhuǎn)換,結(jié)果為99+0j。再運(yùn)行第13行代碼print(type(complex(num))),使用type函數(shù)測(cè)試出該變量為<class'complex'>類(lèi)型,也就是復(fù)數(shù)數(shù)字。1.8.2字符串字符串就是一串字符,是一個(gè)及以上字符的集合。Python中的字符串必須被一對(duì)單引號(hào)('')或雙引號(hào)("")包圍起來(lái)。要將其他數(shù)據(jù)轉(zhuǎn)換為字符串類(lèi)型,可以使用str函數(shù)。比如,將數(shù)字轉(zhuǎn)換為字符串類(lèi)型,案例代碼如下,代碼在“Chapter-1-10.py”文件中。在Python中,還有一些常用的特殊字符,比如換行符(\n)、制表符(\t)、回車(chē)符(\r)等。在遇到特殊字符,需要將其轉(zhuǎn)換為普通字符時(shí),在其前面加上“\”即可。還有另一種轉(zhuǎn)換方法是,在字符串的左外側(cè)加上字母r(大小寫(xiě)均可)。比如,在“Chapter-1-10.py”文件中:第5行代碼print('我是誰(shuí)!\n我在哪兒!'),這里的\n表示要換行;第6行代碼print('我是誰(shuí)!\\n我在哪兒!'),這里的\n沒(méi)有換行效果;第7行代碼print(r'我是誰(shuí)!\n我在哪兒!'),在字符串的左外側(cè)加了r,這里的\n也沒(méi)有換行效果,只是普通字符。本節(jié)只講解了數(shù)字和字符串的一些基本知識(shí),關(guān)于它們的更多知識(shí)點(diǎn),將在后文中逐步介紹。1.9算術(shù)運(yùn)算符Python中的常用算術(shù)運(yùn)算符有加(+)、減(-)、乘(*)、除(/)、取模(%)、冪(**)、取整數(shù)(//)。下面具體介紹這些運(yùn)算符。1.9.1加(+)加運(yùn)算符是執(zhí)行數(shù)字相加運(yùn)算的符號(hào),比如運(yùn)行代碼print(100+199),將返回?cái)?shù)字299。同時(shí),加運(yùn)算符也可以進(jìn)行字符串的連接運(yùn)算,比如運(yùn)行代碼print('曾賢志'+'99分'),返回文本'曾賢志99分'。案例代碼如下,代碼在“Chapter-1-11.py”文件中。除此之外,加號(hào)還可以在列表、元組等對(duì)象中做連接。1.9.2減(-)減運(yùn)算符是執(zhí)行數(shù)字相減運(yùn)算的符號(hào),比如運(yùn)行代碼print(100-99),返回結(jié)果1。案例代碼如下,代碼在“Chapter-1-12.py”文件中。如果相減的兩個(gè)值中有一個(gè)值不是標(biāo)準(zhǔn)數(shù)字,就不能正確進(jìn)行計(jì)算。如圖1-33所示,運(yùn)行代碼print('100'-99)后,提示“unsupportedoperandtype(s)for-:'str'and'int'”,意思是一個(gè)值為字符串型,另一個(gè)值為整型,這兩種數(shù)據(jù)類(lèi)型不能在一起運(yùn)算。圖1-33錯(cuò)誤的減法運(yùn)算案例1.9.3乘(*)乘運(yùn)算符是執(zhí)行數(shù)字相乘運(yùn)算的符號(hào),比如運(yùn)行代碼print(100*99),返回9900。乘運(yùn)算符也有重復(fù)的作用,可對(duì)字符串重復(fù)進(jìn)行運(yùn)算,比如運(yùn)行代碼print('python!'*3),返回“python!python!python!”。案例代碼如下,代碼中的“*3”表示重復(fù)3次,代碼在“Chapter-1-13.py”文件中。除此之外,乘號(hào)還可以用于重復(fù)其他對(duì)象,比如列表、元組等。1.9.4除(/)除運(yùn)算符是執(zhí)行數(shù)字相除運(yùn)算的符號(hào),比如運(yùn)行代碼print(63/8),返回7.875。案例代碼如下,代碼在“Chapter-1-14.py”文件中。注意,相除的結(jié)果為float型,即使商是整數(shù),但其類(lèi)型也是浮點(diǎn)型(小數(shù))。1.9.5取模(%)取模運(yùn)算符是執(zhí)行數(shù)字相除運(yùn)算后取余數(shù)的符號(hào),比如運(yùn)行代碼print(63%8),返回7,這個(gè)值便是63除以8的余數(shù)。案例代碼如下,代碼在“Chapter-1-15.py”文件中。1.9.6冪(**)冪運(yùn)算符是執(zhí)行乘方運(yùn)算的符號(hào)。n**m是指m個(gè)n相乘,也叫n的m次方。比如運(yùn)行代碼print(4**8),表示4的8次方,返回65536。案例代碼如下,代碼在“Chapter-1-16.py”文件中。1.9.7取整數(shù)(//)取整運(yùn)算符是執(zhí)行數(shù)字相除運(yùn)算后取商的整數(shù)的符號(hào),比如運(yùn)行代碼print(63//8),直接相除的商為7.875,只取商的整數(shù)部分,所以返回7。案例代碼如下,代碼在“Chapter-1-17.py”文件中。1.10比較運(yùn)算符比較運(yùn)算符通常用于比較兩個(gè)數(shù)值或兩個(gè)表達(dá)式的大小,比較結(jié)果返回一個(gè)邏輯值(True或False),條件成立返回True,條件不成立返回False。Python中的比較運(yùn)算符有等于(==)、不等于(!=)、大于(>)、小于(<)、大于或等于(>=)、小于或等于(<=)。下面以數(shù)字為比較對(duì)象介紹比較運(yùn)算符的使用方法。1.10.1等于(==)等于運(yùn)算符用來(lái)比較兩個(gè)數(shù)值是否相等,比如運(yùn)行代碼print(9==9),返回邏輯值True;又比如運(yùn)行代碼print(9==8),返回False。案例代碼如下,代碼在“Chapter-1-18.py”文件中。1.10.2不等于(!=)不等于運(yùn)算符用來(lái)比較兩個(gè)數(shù)值是否不相等,比如運(yùn)行代碼print(9!=8),返回邏輯值True;又比如運(yùn)行代碼print(9!=9),返回邏輯值False。案例代碼如下,代碼在“Chapter-1-19.py”文件中。1.10.3大于(>)大于運(yùn)算符用來(lái)判斷其左邊的數(shù)值是否大于右邊的數(shù)值,比如運(yùn)行代碼print(9>8),返回邏輯值True;又比如運(yùn)行代碼print(9>9),返回邏輯值False。案例代碼如下,代碼在“Chapter-1-20.py”文件中。1.10.4小于(<)小于運(yùn)算符用來(lái)判斷其左邊的數(shù)值是否小于右邊的數(shù)值,比如運(yùn)行代碼print(8<9),返回邏輯值True;又比如運(yùn)行代碼print(9<9),返回邏輯值False。案例代碼如下,代碼在“Chapter-1-21.py”文件中。1.10.5大于或等于(>=)大于或等于運(yùn)算符用來(lái)判斷其左邊的數(shù)值是否大于或等于右邊的數(shù)值,比如運(yùn)行代碼print(8>=9),返回邏輯值False;又比如運(yùn)行代碼print(9>=9),返回邏輯值True。案例代碼如下,代碼在“Chapter-1-22.py”文件中。1.10.6小于或等于(<=)小于或等于運(yùn)算符用來(lái)判斷其左邊的數(shù)值是否小于或等于右邊的數(shù)值,比如運(yùn)行代碼print(8<=9),返回邏輯值True;又比如運(yùn)行代碼print(9<=8),返回邏輯值False。案例代碼如下,代碼在“Chapter-1-23.py”文件中。1.11賦值運(yùn)算符賦值運(yùn)算符(=)表示將等號(hào)右側(cè)的對(duì)象賦給等號(hào)左側(cè)的變量。等號(hào)左、右兩側(cè)的關(guān)系,就類(lèi)似于1.7.7節(jié)中描述的對(duì)象與變量的關(guān)系。1.11.1賦值運(yùn)算比如,n=100表示變量n引用的對(duì)象是100,m=99表示變量m引用的對(duì)象是99,代碼print(n+m)表示將變量n引用的對(duì)象100與變量m引用的對(duì)象99相加,最后返回199。案例代碼如下,代碼在“Chapter-1-24.py”文件中。1.11.2累積式賦值運(yùn)算累積式賦值運(yùn)算是編程中的一項(xiàng)重要技術(shù)。為了讓讀者更容易地理解累積式賦值運(yùn)算的運(yùn)算過(guò)程,先看如下代碼,代碼在“Chapter-1-25.py”文件中。這段代碼的運(yùn)算過(guò)程如圖1-34所示。圖1-34代碼的運(yùn)算過(guò)程第1行:首先將0賦值給變量n,此時(shí)n對(duì)應(yīng)的值是0。第2行:將n對(duì)應(yīng)的0加上1,再將相加結(jié)果賦值給n,最后n獲取的值是1。第3行:將n對(duì)應(yīng)的1加上2,再將相加結(jié)果賦值給n,最后n獲取的值是3。第4行:將n對(duì)應(yīng)的3加上3,再將相加結(jié)果賦值給n,最后n獲取的值是6。第5行:使用print函數(shù)將變量n的值6輸出到屏幕上。累積式賦值運(yùn)算除上面的代碼寫(xiě)法外,還可以簡(jiǎn)化為如下代碼:除上面累積相加的累積式賦值運(yùn)算外,還可以使用其他運(yùn)算符做累積式賦值運(yùn)算,如表1-1所示。表1-1累積式賦值運(yùn)算1.12邏輯運(yùn)算符邏輯運(yùn)算符一共有3個(gè),分別是and、or和not。and:當(dāng)and左右兩邊的條件都為真時(shí),返回真(True);否則,返回假(False)。or:當(dāng)or左右兩邊有一個(gè)條件為真時(shí),返回真(True);兩個(gè)均為假,返回假(False)。not:假的變成真的,真的變成假的,取反。1.12.1and(與)當(dāng)and運(yùn)算符左右兩邊的條件都為真時(shí),返回真(True);當(dāng)有一邊的條件為假或兩邊的條件均為假時(shí),返回假(False)。下面的代碼列舉了and運(yùn)算符左右兩邊的所有可能性,代碼在“Chapter-1-26.py”文件中。1.12.2or(或)當(dāng)or運(yùn)算符左右兩邊任意一個(gè)條件為真時(shí),返回真(True);兩個(gè)條件均為假,返回假(False)。下面的代碼列舉了or運(yùn)算符左右兩邊的所有可能性,代碼在“Chapter-1-27.py”文件中。1.12.3not(非)如果對(duì)True取反,則返回False;如果對(duì)False取反,則返回True。下面的代碼列舉了not運(yùn)算符的所有可能性,代碼在“Chapter-1-28.py”文件中。1.13成員運(yùn)算符除前面幾個(gè)小節(jié)中講解的算術(shù)運(yùn)算符、比較運(yùn)算符、賦值運(yùn)算符、邏輯運(yùn)算符外,Python還支持使用成員運(yùn)算符。成員運(yùn)算符用于測(cè)試字符串、列表等對(duì)象中是否包含指定的值。成員運(yùn)算符用in表示,返回值是邏輯值。如果在指定的對(duì)象中找到了指定的值,則返回True;否則返回False。也可以使用notin來(lái)測(cè)試對(duì)象中沒(méi)有指定的值。下面的代碼列出了in運(yùn)算符的應(yīng)用,代碼在“Chapter-1-29.py”文件中。除可以在字符串中使用in運(yùn)算符外,后面章節(jié)中將要學(xué)習(xí)的列表、集合、字典等對(duì)象也可以使用in運(yùn)算符來(lái)做判斷測(cè)試。1.14格式化字符串在Python中,經(jīng)常會(huì)對(duì)各種對(duì)象進(jìn)行格式化處理。本節(jié)將使用format函數(shù)格式化指定的值,并將其插入字符串的占位符內(nèi)。1.14.1使用位置和關(guān)鍵字格式化字符串在使用format函數(shù)進(jìn)行格式化時(shí),使用花括號(hào){}定義占位符,下面代碼的返回值均為“恭喜曾賢志獲得100分?!卑咐a如下,代碼在“Chapter-1-30.py”文件中。第2行代碼print('恭喜{}獲得{}分。'.format('曾賢志',100)),按默認(rèn)順序獲取format函數(shù)中的數(shù)據(jù)。其中,第1個(gè){}獲取'曾賢志',第2個(gè){}獲取100。第3行代碼print('恭喜{0}獲得{1}分。'.format('曾賢志',100)),按指定順序獲取format函數(shù)中的數(shù)據(jù)。其中,第1個(gè){0}獲取'曾賢志',第2個(gè){1}獲取100。指定順序可以由用戶(hù)任意排列,比如print('{1}分,由{0}獲得。'.format('曾賢志',100))。第6行代碼print('恭喜{name}獲得{score}分。'.format(name='曾賢志',score=100)),按指定名稱(chēng)獲取format函數(shù)中的數(shù)據(jù)。其中,{name}獲取'曾賢志',{score}獲取100。1.14.2數(shù)字格式設(shè)置數(shù)字格式設(shè)置是常用設(shè)置,對(duì)數(shù)字格式化后返回的結(jié)果是字符串型數(shù)字。案例代碼如下,代碼在“Chapter-1-31.py”文件中?!瘢罕硎疽O(shè)置的值?!?2表示保留小數(shù)點(diǎn)后兩位數(shù)?!駀表示返回浮點(diǎn)數(shù),也就是小數(shù)?!?表示設(shè)置成百分比格式。1.14.3對(duì)齊設(shè)置對(duì)齊設(shè)置是常用的格式化字符串的方式。案例代碼如下,代碼在“Chapter-1-32.py”文件中?!瘢急硎咀髮?duì)齊?!瘢颈硎居覍?duì)齊?!馸表示居中對(duì)齊。其中,第1行代碼print('|{:<10}|'.format('曾賢志')),表示對(duì)“曾賢志”進(jìn)行左對(duì)齊設(shè)置,字符串總長(zhǎng)度為10,如果不足10個(gè)字符,則默認(rèn)用空格填充。當(dāng)然,也可以用指定字符填充。比如,第2行代碼print('|{:□<10}|'.format('曾賢志')),表示如果字符不足,則用“□”來(lái)填充。其他行的對(duì)齊方式規(guī)則相同,不再贅述。如圖1-35所示是“Chapter-1-32.py”文件中對(duì)每行代碼進(jìn)行對(duì)齊格式化后的返回結(jié)果。圖1-35對(duì)齊格式化后的返回結(jié)果1.15斷點(diǎn)調(diào)試對(duì)于Python初學(xué)者來(lái)說(shuō),了解代碼的運(yùn)行過(guò)程有助于厘清代碼的邏輯,也可以更高效地進(jìn)行錯(cuò)誤追蹤和排錯(cuò)處理。在PyCharm中進(jìn)行代碼調(diào)試一般先設(shè)置斷點(diǎn),然后按快捷鍵完成操作,操作步驟如下。第1步:將鼠標(biāo)指針指向第1行代碼的行號(hào)并單擊,此時(shí)出現(xiàn)一個(gè)紅點(diǎn),這就是斷點(diǎn),表示代碼運(yùn)行到此處暫時(shí)停止,如圖1-36所示。圖1-36設(shè)置斷點(diǎn)第2步:在第1行代碼上右擊,在彈出的快捷菜單中選擇要調(diào)試的文件【Debug'Chapter-1-33'】,如圖1-37所示,此時(shí)正式進(jìn)入代碼調(diào)試狀態(tài)。圖1-37在彈出的快捷菜單中選擇要調(diào)試的文件第3步:使用指定的快捷鍵調(diào)試。這里使用單步運(yùn)行代碼的方式,即單步調(diào)試,可以使用快捷鍵F7。按一次F7鍵,運(yùn)行一行,可以看到每行代碼中的變量值,如圖1-38所示,界面下面的【Debugger】窗口中顯示了更詳細(xì)的信息。這種調(diào)試方式是比較初級(jí)的,有利于初學(xué)者學(xué)習(xí)代碼的邏輯。圖1-38單步調(diào)試第2章Python庫(kù)——第三方庫(kù)的安裝與學(xué)習(xí)本書(shū)主要講解使用Python處理Excel文件,本章將介紹處理Excel文件的經(jīng)典第三方庫(kù)。xlrd庫(kù)可以讀取和處理.xls、xlsx.類(lèi)型的Excel文件,xlwt庫(kù)可以將數(shù)據(jù)寫(xiě)入.xls類(lèi)型的工作簿,而xlutils庫(kù)可以將xlrd庫(kù)和xlwt庫(kù)的功能街接起來(lái)。下面介紹這3個(gè)庫(kù)的基本使用方法。2.1什么是模塊、包、庫(kù)模塊(Module):模塊是一個(gè)Python文件,擴(kuò)展名為.py。在模塊中能夠組織Python代碼段,把相關(guān)的代碼放到一個(gè)模塊里能讓代碼更好用、更易懂。在模塊里能定義函數(shù)、類(lèi)和變量,模塊中也能包含可執(zhí)行的代碼。包(Package):包是模塊之上的概念,為了方便管理.py模塊文件,可以進(jìn)行打包。包其實(shí)就是文件夾,只不過(guò)該文件夾下有名稱(chēng)為_(kāi)_init__.py的文件,否則就是普通的文件夾。包中可以有模塊和子文件夾,假如子文件夾中也有__init__.py文件,那么它就是這個(gè)包的子包。庫(kù)(Library):在Python中,具有某些功能的模塊和包都可以被稱(chēng)作庫(kù)。模塊由諸多函數(shù)組成,包由諸多模塊組成,庫(kù)中可以包含模塊、包和函數(shù)。Python中的庫(kù)分為標(biāo)準(zhǔn)庫(kù)和第三方庫(kù)。標(biāo)準(zhǔn)庫(kù)就是安裝Python時(shí)自帶的庫(kù),可以直接使用。第三方庫(kù)是由第三方機(jī)構(gòu)發(fā)布的,使用前需要安裝。2.2安裝Excel讀取庫(kù)xlrd想用Python處理Excel數(shù)據(jù),但是Python標(biāo)準(zhǔn)庫(kù)中沒(méi)有處理Excel文件的庫(kù),這時(shí)就需要安裝第三方庫(kù)。xlrd就是處理Excel文件的第三方庫(kù)。下面介紹如何在PyCharm中安裝第三方庫(kù)xlrd。第1步:在PyCharm窗口中,單擊【File】菜單中的【Settings】命令,在彈出的【Settings】對(duì)話框中,單擊【Project:PycharmProjects】中的【ProjectInterpreter】選項(xiàng),然后單擊右側(cè)的按鈕,如圖2-1所示。需要注意以下兩點(diǎn):●【Project:PycharmProjects】選項(xiàng)中的【PycharmProjects】指創(chuàng)建項(xiàng)目時(shí)的文件夾名稱(chēng);●需要留意xlrd庫(kù)安裝的位置是在哪個(gè)ProjectInterpreter(項(xiàng)目解釋器)中,用戶(hù)可以在下拉列表中自行選擇,當(dāng)前安裝在“D:\Python”中。圖2-1【Settings】對(duì)話框第2步:在彈出的【AvailablePackages】對(duì)話框中,首先搜索關(guān)鍵字“xlrd”,然后在下面的搜索結(jié)果中選擇【xlrd】選項(xiàng),再單擊【InstallPackage】按鈕開(kāi)始安裝,如圖2-2所示。如果安裝成功,在【InstallPackage】按鈕上方會(huì)提示“Package'xlrd'installedsuccessfully”。圖2-2【AvailablePackages】對(duì)話框第3步:安裝成功后,返回【Settings】對(duì)話框,單擊【OK】按鈕即可,如圖2-3所示。圖2-3安裝成功2.3xlrd模塊導(dǎo)入安裝好xlrd庫(kù)后,要使用庫(kù)中的功能,就需要導(dǎo)入xlrd??梢允褂胕mport語(yǔ)句來(lái)完成導(dǎo)入。導(dǎo)入的方法有以下兩種。方法1:import模塊名1[as別名1],模塊名2[as別名2],…使用這種語(yǔ)法格式的import語(yǔ)句,可以導(dǎo)入庫(kù)中的所有成員(變量、函數(shù)、類(lèi)等)。如果模塊名稱(chēng)太長(zhǎng),也可以用“as別名”的方式來(lái)重命名。方法2:from模塊名import成員名1[as別名1],成員名2[as別名2],…使用這種語(yǔ)法格式的import語(yǔ)句,只導(dǎo)入庫(kù)中指定的模塊,而不是全部成員。代碼importxlrd將導(dǎo)入xlrd庫(kù)的全部,這樣就可以使用xlrd庫(kù)中的所有功能了。而代碼fromxlrdimportopen_workbookasowk則導(dǎo)入xlrd庫(kù)中的open_workbook函數(shù),別名為owk,后面再次使用open_workbook函數(shù)時(shí),可以使用owk來(lái)代替它。案例代碼如下,代碼在“Chapter-2-1.py”文件中。2.4讀取Excel工作簿、工作表信息要使用xlrd庫(kù)處理Excel文件,必須先學(xué)會(huì)讀取工作簿,以及讀取工作簿下的工作表。完成這些操作,才能繼續(xù)后面的工作。2.4.1讀取Excel工作簿可以使用open_workbook函數(shù)讀取指定的工作簿并賦值給變量,在指定工作簿名稱(chēng)時(shí),可以使用相對(duì)路徑,也可以使用絕對(duì)路徑。讀取Excel工作簿的代碼如下,代碼在“Chapter-2-2.py”文件中。2.4.2讀取Excel工作表讀取工作簿后,可能還需要讀取工作簿中的工作表,如圖2-4所示。圖2-4讀取的工作表讀取Excel工作表的代碼如下,代碼在“Chapter-2-3.py”文件中。第3行代碼all_ws1=wb.sheets(),表示讀取工作簿中的所有工作表并賦值給all_ws1變量。工作表是存儲(chǔ)在列表中的。all_ws1變量中有3個(gè)工作表對(duì)象,即[<xlrd.sheet.Sheetobjectat0x000002C746400948>,<xlrd.sheet.Sheetobjectat0x000002C746300288>,<xlrd.sheet.Sheetobjectat0x000002C746406B08>]。第4行代碼all_ws2=wb.sheet_names(),表示讀取工作簿中的所有工作表名稱(chēng)并賦值給all_ws2變量。注意這里讀取的是工作表名稱(chēng),不是工作表對(duì)象。這些工作表名稱(chēng)也是用列表來(lái)存儲(chǔ)的。all_ws2變量中的值為['飛龍隊(duì)','猛虎隊(duì)','雪豹隊(duì)']。第5行代碼ws1=wb.sheet_by_index(0),表示讀取工作簿中第0個(gè)工作表并賦值給ws1變量。注意,索引值是從0開(kāi)始的,此時(shí)讀取的是“飛龍隊(duì)”工作表。第6行代碼ws2=wb.sheets()[1],表示讀取工作簿中的第1個(gè)工作表并賦值給變量ws2,此種讀取方式變量沒(méi)有成員提示。注意,索引值是從0開(kāi)始的,此時(shí)讀取的是“猛虎隊(duì)”工作表。第7行代碼ws3=wb.sheet_by_name('雪豹隊(duì)'),表示讀取工作簿中名稱(chēng)為“雪豹隊(duì)”的工作表并賦值給ws3變量。第8行代碼ws4=xlrd.open_workbook(r'Chapter-2-3-1.xlsx').sheet_by_name('飛龍隊(duì)'),表示直接通過(guò)工作簿來(lái)讀取名稱(chēng)為“飛龍隊(duì)”的工作表并賦值給ws4變量。2.5讀取Excel行、列、單元格信息學(xué)習(xí)了讀取Excel工作簿、工作表后,接下來(lái)學(xué)習(xí)如何讀取工作表中的行、列、單元格信息。如圖2-5所示,讀取“飛龍隊(duì)”工作表中的相關(guān)信息。圖2-5“飛龍隊(duì)”工作表讀取“飛龍隊(duì)”工作表中相關(guān)信息的代碼如下,代碼在“Chapter-2-4.py”文件中。第4行代碼row_count=ws.nrows,表示讀取“飛龍隊(duì)”工作表中已使用的行數(shù),row_count變量返回值為5。第5行代碼col_count=ws.ncols,表示讀取“飛龍隊(duì)”工作表中已使用的列數(shù),col_count變量返回值為2。第6行代碼row_obj=ws.row(1),表示讀取“飛龍隊(duì)”工作表中第2行已使用的單元格對(duì)象,row_obj變量返回的是列表,列表中包含A2和B2單元格對(duì)象。第7行代碼row_val=ws.row_values(1),表示讀取“飛龍隊(duì)”工作表中第2行已使用的單元格的值,不包含其他信息,row_val變量返回的也是列表,列表中包含A2和B2單元格的值{'小明',98}。第8行和第9行代碼col_obj=ws.col(0)和col_val=ws.col_values(0)用來(lái)讀取“飛龍隊(duì)”工作表中指定列已使用的單元格對(duì)象和值,與第6行和第7行代碼中讀取行的信息是相同的,只是方向不同而已,這里不再贅述。第10行和第11行代碼cell_obj=ws.cell(3,1)和cell_val=ws.cell_value(3,1)用來(lái)讀取“飛龍隊(duì)”工作表中指定列和指定行交叉的單元格對(duì)象和單元格的值。值得注意的是,無(wú)論是讀取工作表、行、列,還是讀取單元格的信息,如果以索引值方式讀取,均是從0開(kāi)始計(jì)算的。2.6安裝Excel寫(xiě)入庫(kù)xlwt前面介紹的xlrd庫(kù)只能讀取Excel文件中的數(shù)據(jù),如果要往Excel文件中寫(xiě)入數(shù)據(jù),xlrd庫(kù)則不具備這個(gè)功能,需要安裝xlwt庫(kù)。xlwt庫(kù)具有創(chuàng)建工作簿、工作表,以及將數(shù)據(jù)寫(xiě)入單元格的功能。xlwt庫(kù)的安裝方法與2.2節(jié)中xlrd庫(kù)的安裝方法相同,這里不再贅述,安裝成功后的界面如圖2-6所示。圖2-6安裝xlwt庫(kù)成功2.7新建工作簿、新建工作表和將數(shù)據(jù)寫(xiě)入單元格安裝好xlwt庫(kù)后,接下來(lái)通過(guò)代碼實(shí)現(xiàn)新建工作簿、新建工作表,以及將數(shù)據(jù)寫(xiě)入單元格、保存工作簿等操作,完成后的效果如圖2-7所示。圖2-7完成后的效果本案例代碼如下,代碼在“Chapter-2-5.py”文件中。第1行代碼importxlwt,表示導(dǎo)入xlwt庫(kù)。第2行代碼nwb=xlwt.Workbook('utf-8'),表示通過(guò)Workbook新建工作簿,然后將參數(shù)設(shè)置為utf-8,否則可能會(huì)出現(xiàn)不兼容中文的情況,最后將新建的工作簿賦值給nwb變量。第3行代碼nws=nwb.add_sheet('工資表'),表示在新建的工作簿中新建名稱(chēng)為“工資表”的工作表,并且將新建的工作表賦值給nws變量。第4行代碼nws.write(0,0,'張三:9000元'),表示在新建的工作表中的第0行第0列,也就是A1單元格中寫(xiě)入值“張三:9000元”。第5行代碼nwb.save('工資表.xls'),表示保存新建的工作簿,工作簿名稱(chēng)為“工資表.xls”。注意,xlwt庫(kù)暫時(shí)只支持保存為.xls格式,不能保存為新版的.xlsx格式。2.8安裝Excel修改庫(kù)xlutilsxlrd庫(kù)只能用于讀取已經(jīng)存在的Excel工作簿、工作表、單元格等相關(guān)信息,而xlwt庫(kù)只能新建工作簿、新建工作表、將數(shù)據(jù)寫(xiě)入單元格等,沒(méi)有辦法對(duì)現(xiàn)有的工作簿進(jìn)行修改。要實(shí)現(xiàn)修改功能,就需要安裝xlutils庫(kù),相當(dāng)于在xlrd庫(kù)和xlwt庫(kù)之間建立起一座橋梁。但要注意,使用xlutils庫(kù)一定要先安裝xlrd庫(kù)和xlwt庫(kù),否則安裝xlutils庫(kù)沒(méi)有意義。xlutils庫(kù)的安裝方法與2.2節(jié)中xlrd庫(kù)的安裝方法相同,這里不再贅述,安裝成功后的界面如圖2-8所示。圖2-8安裝xlutils庫(kù)成功2.9修改工作簿、工作表、單元格安裝好xlutils庫(kù)之后,接下來(lái)修改已經(jīng)存在的“Chapter-2-6-1.xls”工作簿,代碼如下,代碼在“Chapter-2-5.py”文件中。第2行代碼fromxlutils.copyimportcopy,表示導(dǎo)入xlutils庫(kù)copy模塊下的copy函數(shù),因?yàn)闀簳r(shí)只用到copy函數(shù),所以不用導(dǎo)入整個(gè)xlutils庫(kù)。這種寫(xiě)法在表示上也更簡(jiǎn)捷。如果導(dǎo)入整個(gè)xlutils庫(kù),那么在使用copy函數(shù)時(shí)的表示方法為xlutils.copy.copy,而現(xiàn)在直接寫(xiě)copy就可以了。第3行代碼wb=x

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論