ython的IDE(Integrated Development Environment 集成開發(fā)環(huán)境)非常多,如:VS Code、Sublime、NotePad、Python自帶編輯器IDLE、JuPyter、Eclipse + PyDev等等,但是對(duì)于項(xiàng)目開發(fā)、管理、部署等稍微大一點(diǎn)的項(xiàng)目,我覺得還是PyCharm最好用!
2019年12月2日,PyCharm迎來(lái)了2019.3版本,這也許會(huì)是2019年的最后一個(gè)大版本,那這個(gè)版本增加了哪些新功能呢?我們一起來(lái)看看吧!
一、Jupyter
PyCharm 在 2019年里連續(xù)發(fā)布了2019.1、2019.2、 2019.3三個(gè)大版本,對(duì)Jupyter進(jìn)行改進(jìn),這讓很多使用者感到欣慰,畢竟目前數(shù)據(jù)分析比較火,使用Jupyter Notebooks的開發(fā)者也越來(lái)越多。
注意此功能僅專業(yè)版才有!
1.交互式控件
為了提供更多的交互性,Jupyter notebooks支持稱為“交互式控件”的功能。這些控件支持將靜態(tài)筆記本轉(zhuǎn)變?yōu)榻换ナ降拿姘澹瑥亩蛊渌脩粼诓榭茨愕墓P記本時(shí),可以自定義視圖。
在此次更新中,PyCharm添加了對(duì)交互式控件的支持。這意味著窗口小部件將隨著輸出一起呈現(xiàn),并且可以像處理本機(jī)Jupyter notebooks一樣用于操作筆記。
2.運(yùn)行時(shí)代碼補(bǔ)全
PyCharm 的優(yōu)勢(shì)之一是借助先進(jìn)的靜態(tài)代碼分析算法,可以實(shí)現(xiàn)智能編碼提示。但是,對(duì)于動(dòng)態(tài)語(yǔ)言(例如Python)而言,靜態(tài)代碼分析還不足夠。這就是為什么在此次更新中,我們利用Jupyter本身提供的運(yùn)行時(shí)信息來(lái)對(duì)其進(jìn)行擴(kuò)展。在某些情況下,例如在字典索引或深層嵌套的表達(dá)式中,IDE無(wú)法使用靜態(tài)分析來(lái)找出其類型,而此次更新將會(huì)使代碼補(bǔ)全變得更為智能。
3.在輸出面板上放大和縮小
此次更新支持將預(yù)覽的字體大小設(shè)置為與編輯器一致,或者在設(shè)置中進(jìn)行自定義。編輯器提供了“使用Ctrl +鼠標(biāo)滾輪更改字體大小(縮放)“選項(xiàng)。啟用該選項(xiàng)后,你可以在按住Ctrl的同時(shí),使用鼠標(biāo)滾輪來(lái)放大或縮小預(yù)覽。
二、Python
1.文件路徑聯(lián)想
害怕在寫文件名時(shí)打錯(cuò)字?特別是有較長(zhǎng)文件名時(shí),例如open('data/ survey_data_28112019_exported.csv') ?現(xiàn)在,你可以在Python代碼編輯器或控制臺(tái)中獲得文件路徑建議。我們擴(kuò)展了上下文感知的代碼補(bǔ)全功能,因此上下文中與文件相關(guān)的字符串字面量可以為可能的文件路徑提供建議。
2.支持相對(duì)import
與絕對(duì)import相比,你更喜歡相對(duì)import嗎?PyCharm現(xiàn)在支持在這些風(fēng)格之間自動(dòng)地轉(zhuǎn)換。如果你已經(jīng)使用相對(duì)導(dǎo)入方式導(dǎo)入了某個(gè)程序包,那么所有新的從該程序包的導(dǎo)入也將自動(dòng)創(chuàng)建為相對(duì)導(dǎo)入。
3.Python 3.8:TypedDicts
PyCharm 通過(guò)對(duì)TypedDict的支持,避免字典的錯(cuò)誤賦值。為你的鍵值對(duì)結(jié)構(gòu)提供更精確的展示,我們的代碼編輯器能幫助你找到恰當(dāng)?shù)氖褂梅椒ā?/p>
4.Python 3.8:字面量類型注解
你是否有采用特定字符串字面量的方法,例如帶文件模式“open”方法?你可以使用Python 3.8的Literal類型注解來(lái)檢查類型,還可以檢查特定的值。現(xiàn)在,當(dāng)你調(diào)用的函數(shù)出現(xiàn)不支持的值時(shí),PyCharm會(huì)出現(xiàn)告警。
5.自動(dòng)創(chuàng)建pytest測(cè)試
我們升級(jí)了用于自動(dòng)創(chuàng)建測(cè)試的工具,現(xiàn)在也支持pytest。有了這個(gè),PyCharm允許你通過(guò)在方法聲明的菜單中,僅僅單擊“Go To | Test”選項(xiàng),就自動(dòng)創(chuàng)建pytest測(cè)試。
6.調(diào)試器:集合的大小信息
調(diào)試時(shí)的跟蹤信息應(yīng)盡可能清晰與詳細(xì)。這就是我們調(diào)整變量視圖的原因,現(xiàn)在它可以顯示組織得更好且更全面的數(shù)據(jù)。有了這個(gè),就可以期待新的排序、科學(xué)數(shù)組的更好的視覺表示、集合長(zhǎng)度的顯示以及重復(fù)細(xì)節(jié)的去除。
三、性能提升
1.更快的索引
PyCharm 先進(jìn)的代碼內(nèi)視可以幫助你更快地完成工作。為此,我們需要索引你的代碼和所有導(dǎo)入的包。當(dāng)你使用已編譯擴(kuò)展的軟件包時(shí)(如許多數(shù)據(jù)科學(xué)軟件包),在對(duì)其進(jìn)行索引之前,我們需要生成描述Python接口的Python骨架(存根文件)。我們對(duì)此過(guò)程進(jìn)行了改進(jìn),預(yù)計(jì)整個(gè)索引過(guò)程至少快25%。當(dāng)然,如果你在多個(gè)virtualenv中使用同一程序包,我們將重用已經(jīng)創(chuàng)建的索引。
2.凍結(jié)次數(shù)減少,并改進(jìn)了凍結(jié)報(bào)告
不幸的是,有時(shí)候PyCharm的UI會(huì)凍結(jié)一段時(shí)間,然后才讓你重新開始處理代碼。我們意識(shí)到這是非常令人不快的事情,因此我們正在努力消除這些問(wèn)題。我們已經(jīng)修復(fù)了許多可能導(dǎo)致UI凍結(jié)的問(wèn)題,現(xiàn)在,你可以直接從IDE中上報(bào)UI凍結(jié),這使我們有可能調(diào)查其凍結(jié)的原因,并確保它不再發(fā)生。提前感謝你幫助我們擺脫P(yáng)yCharm中的UI凍結(jié)問(wèn)題!
3.更多的改進(jìn)
a.今年,我們?cè)谒蠮etBrains IDE的啟動(dòng)性能方面進(jìn)行了大量工作。我們的核心平臺(tái)的啟動(dòng)時(shí)間在2019.3版本中得到了進(jìn)一步改善,我們將繼續(xù)努力使IDE更快地啟動(dòng)。
b.現(xiàn)在可以在不重啟IDE的情況下更改主題。在選擇預(yù)先安裝的主題時(shí)或下載新主題后,都可以進(jìn)行此操作。
c.在PyCharm 2019.3中,各種對(duì)于處理事件和忽略文件的改進(jìn),使版本控制的狀態(tài)更新得更快。
d.我們對(duì)編輯器的呈現(xiàn)方式進(jìn)行了一些更改,現(xiàn)在滾動(dòng)瀏覽一個(gè)長(zhǎng)文件變得更加平滑。
四、數(shù)據(jù)庫(kù)支持
注意此功能僅專業(yè)版才有!
支持MongoDB
你要在MongoDB上構(gòu)建應(yīng)用程序嗎?那么你將很高興地得知現(xiàn)在可以在PyCharm中查看MongoDB集合。通過(guò)從數(shù)據(jù)庫(kù)工具窗口(視圖|工具窗口|數(shù)據(jù)庫(kù))添加數(shù)據(jù)源來(lái)連接數(shù)據(jù)庫(kù)。PyCharm Professional Edition附帶了 JetBrains DataGrip(JetBrains制造的專業(yè)SQL IDE)的所有數(shù)據(jù)庫(kù)功能。
五、IDE功能
1.參數(shù)化運(yùn)行配置
在創(chuàng)建命令行應(yīng)用程序時(shí),通常可以方便地快速更改參數(shù)。盡管你可以進(jìn)入“編輯配置”來(lái)進(jìn)行更改,但是現(xiàn)在有一種更好的方法:使用新的運(yùn)行配置宏(變量),每次啟動(dòng)應(yīng)用程序時(shí),PyCharm都會(huì)提示你輸入值。
2.在選定內(nèi)容中搜索
是否想知道在文件的某部分中,某些文本出現(xiàn)的頻率?現(xiàn)在,在你選定的內(nèi)容中,find動(dòng)作將自動(dòng)查找。想要到處搜索?再次按Ctrl-F(在macOS上為Cmd-F),會(huì)將搜索范圍擴(kuò)展到文件的其余部分。
3.更多的改進(jìn)
如果應(yīng)用程序的一部分是用JavaScript編寫的,則很可能你在某處使用了Handlebars模板。如果安裝了 Handlebars插件,則現(xiàn)在可以在任何Python字符串中啟用Handlebars代碼智能。只需在字符串中按Alt-Enter,選擇“插入語(yǔ)言或參考”,然后鍵入“Handlebars”。
六、版本控制
1.與當(dāng)前分支的改進(jìn)比較
你擁有的分支越多,就越難追蹤它們之間的差異。在新版本的PyCharm中,分支比較功能看起來(lái)更好,并且可以使你快速了解哪些提交使兩個(gè)分支之間產(chǎn)生了差異。
2.改進(jìn)了克隆代碼倉(cāng)的UI
無(wú)論你使用哪種代碼倉(cāng),當(dāng)你要拉取新項(xiàng)目時(shí),我們現(xiàn)在都在同一個(gè)地方開始。
3.更多的改進(jìn)
七、Web開發(fā)
注意此功能僅專業(yè)版才有!
1.CDN中的CSS類
你是否要使用CDN中的樣式表?現(xiàn)在,我們可以下載該樣式表的一個(gè)版本,專門用于代碼補(bǔ)全。
2.查看調(diào)試JavaScript時(shí)方法返回的值
就像在Python調(diào)試器中一樣,JavaScript調(diào)試器現(xiàn)在可以向你顯示你正在調(diào)用的方法的返回值。要查看返回值,請(qǐng)單擊調(diào)試器上的齒輪圖標(biāo),然后啟用“顯示返回值”。
3.更多的改進(jìn)
源 | PyCharm官網(wǎng) 整理 | 豬哥 校正 | 豌豆花下貓
Python的IDE(Integrated Development Environment 集成開發(fā)環(huán)境)非常多,如:VS Code、Sublime、NotePad、Python自帶編輯器IDLE、JuPyter、Eclipse + PyDev等等,但是對(duì)于項(xiàng)目開發(fā)、管理、部署等稍微大一點(diǎn)的項(xiàng)目,豬哥覺得還是PyCharm最好用!
2019年12月2日,PyCharm迎來(lái)了2019.3版本,這也許會(huì)是2019年的最后一個(gè)大版本,那這個(gè)版本增加了哪些新功能呢?我們一起來(lái)看看吧!
PyCharm 在 2019年里連續(xù)發(fā)布了 2019.1
、2019.2
、2019.3
三個(gè)大版本,對(duì)Jupyter進(jìn)行改進(jìn),這讓很多使用者感到欣慰,畢竟目前數(shù)據(jù)分析比較火,使用Jupyter Notebooks的開發(fā)者也越來(lái)越多。
注意此功能僅專業(yè)版才有!
為了提供更多的交互性,Jupyter notebooks支持稱為“交互式控件”的功能。這些控件支持將靜態(tài)筆記本轉(zhuǎn)變?yōu)榻换ナ降拿姘澹瑥亩蛊渌脩粼诓榭茨愕墓P記本時(shí),可以自定義視圖。
在此次更新中,PyCharm添加了對(duì)交互式控件的支持。這意味著窗口小部件將隨著輸出一起呈現(xiàn),并且可以像處理本機(jī)Jupyter notebooks一樣用于操作筆記。
PyCharm 的優(yōu)勢(shì)之一是借助先進(jìn)的靜態(tài)代碼分析算法,可以實(shí)現(xiàn)智能編碼提示。但是,對(duì)于動(dòng)態(tài)語(yǔ)言(例如Python)而言,靜態(tài)代碼分析還不足夠。這就是為什么在此次更新中,我們利用Jupyter本身提供的運(yùn)行時(shí)信息來(lái)對(duì)其進(jìn)行擴(kuò)展。在某些情況下,例如在字典索引或深層嵌套的表達(dá)式中,IDE無(wú)法使用靜態(tài)分析來(lái)找出其類型,而此次更新將會(huì)使代碼補(bǔ)全變得更為智能。
此次更新支持將預(yù)覽的字體大小設(shè)置為與編輯器一致,或者在設(shè)置中進(jìn)行自定義。編輯器提供了“使用Ctrl +鼠標(biāo)滾輪更改字體大小(縮放)“選項(xiàng)。啟用該選項(xiàng)后,你可以在按住Ctrl的同時(shí),使用鼠標(biāo)滾輪來(lái)放大或縮小預(yù)覽。
害怕在寫文件名時(shí)打錯(cuò)字?特別是有較長(zhǎng)文件名時(shí),例如 open('data/ survey_data_28112019_exported.csv')
?現(xiàn)在,你可以在Python代碼編輯器或控制臺(tái)中獲得文件路徑建議。我們擴(kuò)展了上下文感知的代碼補(bǔ)全功能,因此上下文中與文件相關(guān)的字符串字面量可以為可能的文件路徑提供建議。
與絕對(duì)import相比,你更喜歡相對(duì)import嗎?PyCharm現(xiàn)在支持在這些風(fēng)格之間自動(dòng)地轉(zhuǎn)換。如果你已經(jīng)使用相對(duì)導(dǎo)入方式導(dǎo)入了某個(gè)程序包,那么所有新的從該程序包的導(dǎo)入也將自動(dòng)創(chuàng)建為相對(duì)導(dǎo)入。
PyCharm 通過(guò)對(duì)TypedDict的支持,避免字典的錯(cuò)誤賦值。為你的鍵值對(duì)結(jié)構(gòu)提供更精確的展示,我們的代碼編輯器能幫助你找到恰當(dāng)?shù)氖褂梅椒ā?/p>
你是否有采用特定字符串字面量的方法,例如帶文件模式“open”方法?你可以使用Python 3.8的 Literal
類型注解來(lái)檢查類型,還可以檢查特定的值。現(xiàn)在,當(dāng)你調(diào)用的函數(shù)出現(xiàn)不支持的值時(shí),PyCharm會(huì)出現(xiàn)告警。
我們升級(jí)了用于自動(dòng)創(chuàng)建測(cè)試的工具,現(xiàn)在也支持pytest。有了這個(gè),PyCharm允許你通過(guò)在方法聲明的菜單中,僅僅單擊“Go To | Test”選項(xiàng),就自動(dòng)創(chuàng)建pytest測(cè)試。
調(diào)試時(shí)的跟蹤信息應(yīng)盡可能清晰與詳細(xì)。這就是我們調(diào)整變量視圖的原因,現(xiàn)在它可以顯示組織得更好且更全面的數(shù)據(jù)。有了這個(gè),就可以期待新的排序、科學(xué)數(shù)組的更好的視覺表示、集合長(zhǎng)度的顯示以及重復(fù)細(xì)節(jié)的去除。
PyCharm 先進(jìn)的代碼內(nèi)視可以幫助你更快地完成工作。為此,我們需要索引你的代碼和所有導(dǎo)入的包。當(dāng)你使用已編譯擴(kuò)展的軟件包時(shí)(如許多數(shù)據(jù)科學(xué)軟件包),在對(duì)其進(jìn)行索引之前,我們需要生成描述Python接口的Python骨架(存根文件)。我們對(duì)此過(guò)程進(jìn)行了改進(jìn),預(yù)計(jì)整個(gè)索引過(guò)程至少快25%。當(dāng)然,如果你在多個(gè)virtualenv中使用同一程序包,我們將重用已經(jīng)創(chuàng)建的索引。
不幸的是,有時(shí)候PyCharm的UI會(huì)凍結(jié)一段時(shí)間,然后才讓你重新開始處理代碼。我們意識(shí)到這是非常令人不快的事情,因此我們正在努力消除這些問(wèn)題。我們已經(jīng)修復(fù)了許多可能導(dǎo)致UI凍結(jié)的問(wèn)題,現(xiàn)在,你可以直接從IDE中上報(bào)UI凍結(jié),這使我們有可能調(diào)查其凍結(jié)的原因,并確保它不再發(fā)生。提前感謝你幫助我們擺脫P(yáng)yCharm中的UI凍結(jié)問(wèn)題!
今年,我們?cè)谒蠮etBrains IDE的啟動(dòng)性能方面進(jìn)行了大量工作。
我們的核心平臺(tái)的啟動(dòng)時(shí)間在2019.3版本中得到了進(jìn)一步改善,我們將繼續(xù)努力使IDE更快地啟動(dòng)。
現(xiàn)在可以在不重啟IDE的情況下更改主題。在選擇預(yù)先安裝的主題時(shí)或下載新主題后,都可以進(jìn)行此操作。
在PyCharm 2019.3中,各種對(duì)于處理事件和忽略文件的改進(jìn),使版本控制的狀態(tài)更新得更快。
我們對(duì)編輯器的呈現(xiàn)方式進(jìn)行了一些更改,現(xiàn)在滾動(dòng)瀏覽一個(gè)長(zhǎng)文件變得更加平滑。
注意此功能僅專業(yè)版才有!
你要在MongoDB上構(gòu)建應(yīng)用程序嗎?那么你將很高興地得知現(xiàn)在可以在PyCharm中查看MongoDB集合。通過(guò)從數(shù)據(jù)庫(kù)工具窗口(視圖|工具窗口|數(shù)據(jù)庫(kù))添加數(shù)據(jù)源來(lái)連接數(shù)據(jù)庫(kù)。PyCharm Professional Edition附帶了 JetBrains DataGrip(JetBrains制造的專業(yè)SQL IDE)的所有數(shù)據(jù)庫(kù)功能。
在創(chuàng)建命令行應(yīng)用程序時(shí),通常可以方便地快速更改參數(shù)。盡管你可以進(jìn)入“編輯配置”來(lái)進(jìn)行更改,但是現(xiàn)在有一種更好的方法:使用新的運(yùn)行配置宏(變量),每次啟動(dòng)應(yīng)用程序時(shí),PyCharm都會(huì)提示你輸入值。
是否想知道在文件的某部分中,某些文本出現(xiàn)的頻率?現(xiàn)在,在你選定的內(nèi)容中,find動(dòng)作將自動(dòng)查找。想要到處搜索?再次按Ctrl-F(在macOS上為Cmd-F),會(huì)將搜索范圍擴(kuò)展到文件的其余部分。
如果應(yīng)用程序的一部分是用JavaScript編寫的,則很可能你在某處使用了Handlebars模板。如果安裝了 Handlebars插件,則現(xiàn)在可以在任何Python字符串中啟用Handlebars代碼智能。只需在字符串中按Alt-Enter,選擇“插入語(yǔ)言或參考”,然后鍵入“Handlebars”。
你擁有的分支越多,就越難追蹤它們之間的差異。在新版本的PyCharm中,分支比較功能看起來(lái)更好,并且可以使你快速了解哪些提交使兩個(gè)分支之間產(chǎn)生了差異。
無(wú)論你使用哪種代碼倉(cāng),當(dāng)你要拉取新項(xiàng)目時(shí),我們現(xiàn)在都在同一個(gè)地方開始。
拉取遠(yuǎn)程分支時(shí),通常需要?jiǎng)?chuàng)建一個(gè)跟蹤該遠(yuǎn)程分支的本地分支。
在PyCharm 2019.3中,’checkout’操作只有一個(gè),可以確保你看到遠(yuǎn)程分支的當(dāng)前狀態(tài),但是沒(méi)有丟失任何本地提交的風(fēng)險(xiǎn)。
PyCharm始終能夠 push 你當(dāng)前已拉取的分支。
有時(shí),你可能要推送另一個(gè)分支,從現(xiàn)在開始,不再需要首先將其檢出。
注意此功能僅專業(yè)版才有!
你是否要使用CDN中的樣式表?現(xiàn)在,我們可以下載該樣式表的一個(gè)版本,專門用于代碼補(bǔ)全。
就像在Python調(diào)試器中一樣,JavaScript調(diào)試器現(xiàn)在可以向你顯示你正在調(diào)用的方法的返回值。要查看返回值,請(qǐng)單擊調(diào)試器上的齒輪圖標(biāo),然后啟用“顯示返回值”。
- 無(wú)論你在CSS中使用單引號(hào)還是雙引號(hào),PyCharm現(xiàn)在都可以幫助你使引號(hào)保持一致。在 Other 選項(xiàng)卡中的 Settings | Editor | Code Style | Style Sheets | CSS 中進(jìn)行配置。
- 你是否使用未為其定義propTypes的React組件?PyCharm現(xiàn)在能夠推斷 props,并且將為你提供未定義propTypes的組件的代碼補(bǔ)全。
簽到送書計(jì)劃
自律改變自我!第①期打卡送書活動(dòng)啟動(dòng)!
源 | 數(shù)據(jù)分析與統(tǒng)計(jì)學(xué)之美
這是一個(gè)很好的Python自動(dòng)化的案例。對(duì)于小公司,采用手動(dòng)方式一個(gè)個(gè)發(fā)送郵件還是可以的。如果一個(gè)上百號(hào),上千號(hào),或者更大規(guī)模的公司,我們?cè)僖粋€(gè)個(gè)發(fā)送工資條郵件,就太浪費(fèi)時(shí)間了。鑒于此,我寫了一個(gè)這樣的程序,實(shí)現(xiàn)Python自動(dòng)化群發(fā)工資條的功能。
原始數(shù)據(jù)源如下:
最終效果如下:
看到這里,你肯定也覺得很好玩兒吧?那么這樣一個(gè)自動(dòng)化程序,應(yīng)該怎么做呢?接著往下看。
其實(shí)這樣一個(gè)代碼,總結(jié)下來(lái),就只有如下5步:
① 導(dǎo)入相關(guān)模塊;
② 讀取Excel表格;
③ 登錄郵箱;
④ 準(zhǔn)備要發(fā)送的郵件正文;
⑤ 發(fā)送郵件;
from openpyxl import load_workbook # 用于操作Excel的模塊
import yagmail # 用于存儲(chǔ)郵箱地址和密碼的模塊
import keyring # 用于記錄你郵箱地址和密碼的模塊
from datetime import * # 用于獲取當(dāng)前系統(tǒng)時(shí)間的模塊
# 加載Excel文件
wb=load_workbook("群發(fā)工資條.xlsx",data_only=True)
sheet=wb.active
print(sheet)
-------------------------------------------------------
for row in sheet:
row_text=""
for cell in row:
if cell.column=="B":
continue
row_text +=f"{cell.value},"
print(row_text)
------------------------------------------------------
print("年:", date.today.year)
print("月:", date.today.month)
print(f"{date.today.year}-{date.today.month}月")
結(jié)果如下:
yagmail.register("1127421544@qq.com","flmyucvntuvbjbcb")
pwd=keyring.get_password("yagmail","1127421544@qq.com")
yag=yagmail.SMTP(user="1127421544@qq.com",host="smtp.qq.com",password=pwd)
需要注意的是:第一行代碼是用于存儲(chǔ)你的郵件地址和密碼。第二行代碼使用keyring是為了記錄你的郵件地址和密碼。第三行代碼直接登錄郵箱。
關(guān)于Python怎么發(fā)送郵件,我之前寫了一篇文章,進(jìn)行了詳細(xì)的介紹,下方是這篇文章的鏈接,大家可以參考。
Python發(fā)郵件:http://suo.im/60ylZ1
4)準(zhǔn)備要發(fā)送的正文
由于發(fā)送的正文里面,需要我們發(fā)送一個(gè)帶表格的郵件,這就有必要我們了解一點(diǎn)前端知識(shí)。因此,我在最后面花一個(gè)章節(jié)為大家講解。
yag.send(f"{email}",f"數(shù)據(jù)分析與統(tǒng)計(jì)學(xué)之美有限公司{date.today.year}-{date.today.month}月工資情況",contents)
上述代碼共有3個(gè)參數(shù):第一個(gè)參數(shù)是收件人的郵箱;第二個(gè)參數(shù)是郵件的標(biāo)題;第三個(gè)參數(shù)是發(fā)送的內(nèi)容。
會(huì)用Python發(fā)送郵件的人都知道,郵件正文內(nèi)容可以寫html代碼。你可能覺得自己啥也不會(huì),但是不用擔(dān)心,我們不需要學(xué)習(xí)太高深的前端代碼,做過(guò)爬蟲的人耳濡目染,都能夠看懂一些。
我們可以直接用Pycharm創(chuàng)建一個(gè)新的html文件,里面會(huì)顯示初始的前端代碼,我們進(jìn)行簡(jiǎn)單的添加,就可以獲得一個(gè)表格啦!
最終在瀏覽器中顯示效果如下:
從上圖中根本看不出這是一個(gè)表格,那是因?yàn)槲覀儧](méi)有為它設(shè)置一個(gè)樣式,下面要做的就是為表格設(shè)置樣式。
最終在瀏覽器中顯示效果如下:
從上圖可以看出,整個(gè)前端代碼就是用一些列的標(biāo)簽組成,同時(shí)標(biāo)簽都是成對(duì)出現(xiàn)的。因此,在Python中寫前端代碼時(shí),只需要在對(duì)應(yīng)位置添加對(duì)應(yīng)的標(biāo)簽即可。
for row in sheet:
row_text="<tr>"
for cell in row:
if cell.column=="B":
continue
row_text +=f"<td>{cell.value}</td>"
row_text +="</tr>"
print("\n")
print(row_text)
結(jié)果如下:
為了文章的完整性,我在文章最后放上我的代碼。但是限于文章篇幅,最后我只粘貼一張圖片,詳細(xì)代碼,大家可以去文末獲取。
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。