Python PyWebIO實(shí)現(xiàn)網(wǎng)頁(yè)版數(shù)據(jù)查詢器
界面的制作一直是 Python 的痛!使用 Python 制作桌面端界面是非常痛苦的過(guò)程(又難學(xué)又難看)。不過(guò),Python 已經(jīng)出現(xiàn)了幾個(gè)基于web前端的庫(kù),他們的基本機(jī)制大同小異,如果對(duì) 界面操作性沒(méi)有太大要求,那么這些庫(kù)就比較適合你 。
這個(gè)系列基于 pywebio 的一系列實(shí)戰(zhàn)應(yīng)用,讓我們從實(shí)戰(zhàn)中學(xué)習(xí)這個(gè)庫(kù)的使用!
本節(jié)最終效果動(dòng)圖:
- 選擇 excel 文件
- 輸出文件第一個(gè)工作表的數(shù)據(jù)(DataFrame)
安裝庫(kù):
pip install -U pywebio
輸出文本
先輸出一段內(nèi)容試試效果:
import pywebio import pywebio.output as output def main(): output.put_html('表格顯示程序') if __name__=='__main__': pywebio.start_server(main, port=8080, debug=True, cdn=False,auto_open_webbrowser=True)
行1,2:導(dǎo)入需要的東西,其中 pywebio.output 是用來(lái)輸出內(nèi)容相關(guān)操作
行4:定義一個(gè)函數(shù),名字隨意
行5:put_html 這個(gè)函數(shù)就是行2導(dǎo)入的 output 模塊的操作,用來(lái)輸出 html 內(nèi)容
行9:?jiǎn)?dòng)服務(wù)。這大部分是樣板代碼(就是每次都一樣的)。特別重要的是第一個(gè)參數(shù),就是我們定義的函數(shù)名字(注意并沒(méi)有執(zhí)行,只是傳入)
執(zhí)行這段腳本,如無(wú)意外你的瀏覽器就啟動(dòng)了一頁(yè),地址是 http://localhost:8080 :
如果你不熟悉 html 的各種標(biāo)簽,你可能連基本的排版都做不到。
這還好,pywebio 還支持 markdown:
def main(): output.put_markdown('# 表格顯示程序') output.put_markdown('功能如下:') output.put_markdown(""" - 選擇文件 - 自動(dòng)加載輸出表格一部分內(nèi)容 """)
輸入操作
只有輸出操作是滿足不了需求,界面上很多輸入操作。
選擇文件就是一種輸入操作(用戶輸入內(nèi)容到界面上):
import pywebio import pywebio.output as output import pywebio.input as input def main(): output.put_markdown('# 表格顯示程序') output.put_markdown('功能如下:') output.put_markdown(""" - 選擇文件 - 自動(dòng)加載輸出表格一部分內(nèi)容 """) file = input.file_upload('選擇一個(gè)excel文件','.xlsx')
行3:導(dǎo)入輸入操作模塊
行13:使用 file_upload 用來(lái)讓用戶選擇文件上傳。第一個(gè)參數(shù)是提示內(nèi)容,第二個(gè)參數(shù)是限定文件后綴名
用戶選擇的文件將會(huì)賦值到變量 file
看看效果:
點(diǎn)擊右邊的"Browse"按鈕,即可從彈窗中選擇excel文件。
點(diǎn)擊提交按鈕后,之前的代碼就會(huì)繼續(xù)往下執(zhí)行。
有了文件內(nèi)容,我們用 pandas 讀?。?/p>
import pywebio import pywebio.output as output import pywebio.input as input import pandas as pd def main(): output.put_markdown('# 表格顯示程序') output.put_markdown('功能如下:') output.put_markdown(""" - 選擇文件 - 自動(dòng)加載輸出表格一部分內(nèi)容 """) file = input.file_upload('選擇一個(gè)excel文件','.xlsx') df = pd.read_excel(file['content']) output.put_html(df.head(10).to_html())
行15:通過(guò) file['content'] 獲取文件內(nèi)容。
行16:df.to html() 就能生成完整的表格 html ,然后用 put html 輸出即可
看看效果:
重點(diǎn)
最終的代碼如下:
import pywebio import pywebio.output as output import pywebio.input as input import pandas as pd def main(): output.put_markdown('# 表格顯示程序') output.put_markdown('功能如下:') output.put_markdown(""" - 選擇文件 - 自動(dòng)加載輸出表格一部分內(nèi)容 """) file = input.file_upload('選擇一個(gè)excel文件','.xlsx') df = pd.read_excel(file['content']) output.put_html(df.head(10).to_html())
所有的input操作代碼,都會(huì)等待界面操作完畢才會(huì)往下執(zhí)行。例如行14 file_upload 會(huì)一直卡住,直到界面上點(diǎn)擊 "提交" 按鈕
按照上面的流程,這個(gè)函數(shù)將會(huì)執(zhí)行完畢。如果希望重新執(zhí)行一次,只需要刷新一下瀏覽器的頁(yè)面
只是加載數(shù)據(jù)太沒(méi)趣了?下一節(jié)將進(jìn)一步改進(jìn),加載數(shù)據(jù)后可以對(duì)數(shù)據(jù)查詢
到此這篇關(guān)于Python PyWebIO實(shí)現(xiàn)網(wǎng)頁(yè)版數(shù)據(jù)查詢器的文章就介紹到這了,更多相關(guān)Python PyWebIO數(shù)據(jù)查詢器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于Python爬蟲(chóng)采集天氣網(wǎng)實(shí)時(shí)信息
這篇文章主要介紹了基于Python爬蟲(chóng)采集天氣網(wǎng)實(shí)時(shí)信息,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06簡(jiǎn)單介紹Python中的readline()方法的使用
這篇文章主要介紹了簡(jiǎn)單介紹Python中的readline()方法的使用,是Python入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-05-05利用python進(jìn)行接口測(cè)試及類(lèi)型介紹
這篇文章主要介紹了利用python進(jìn)行接口測(cè)試詳情,文章基于python展開(kāi)對(duì)接口測(cè)試的詳細(xì)介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-05-05python 使用elasticsearch 實(shí)現(xiàn)翻頁(yè)的三種方式
這篇文章主要介紹了python 使用elasticsearch 實(shí)現(xiàn)翻頁(yè)的三種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07用Python制作mini翻譯器的實(shí)現(xiàn)示例
這篇文章主要介紹了用Python制作mini翻譯器的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08python使用socket高效傳輸視頻數(shù)據(jù)幀(連續(xù)發(fā)送圖片)
本文主要介紹了python使用socket高效傳輸視頻數(shù)據(jù)幀(連續(xù)發(fā)送圖片),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10