Python終於可以簡單做個漂亮介面!pywebio做一個數據查詢器

Python終於可以簡單做個漂亮介面!pywebio做一個數據查詢器

介面的製作一直是 Python 的痛!使用 Python 製作桌面端介面是非常痛苦的過程(又難學又難看)。不過,Python 已經出現了幾個基於web前端的庫,他們的基本機制大同小異,如果對

介面操作性沒有太大要求,那麼這些庫就比較適合你

這個系列基於 pywebio 的一系列實戰應用,讓我們從實戰中學習這個庫的使用!

如果對你有幫助,記得轉發推薦給你的好友!

你的點贊、收藏是對我的最大鼓勵!

本節原始碼回覆"pywebio"即可獲取

本節最終效果動圖:

Python終於可以簡單做個漂亮介面!pywebio做一個數據查詢器

選擇 excel 檔案

輸出檔案第一個工作表的資料(DataFrame)

安裝庫:

pip install -U pywebio

輸出文字

先輸出一段內容試試效果:

import pywebioimport pywebio。output as outputdef main(): output。put_html(‘表格顯示程式’)if __name__==‘__main__’: pywebio。start_server(main, port=8080, debug=True, cdn=False,auto_open_webbrowser=True)

行1,2:匯入需要的東西,其中 pywebio。output 是用來輸出內容相關操作

行4:定義一個函式,名字隨意

行5:put_html 這個函式就是行2匯入的 output 模組的操作,用來輸出 html 內容

行9:啟動服務。這大部分是樣板程式碼(就是每次都一樣的)。特別重要的是第一個引數,就是我們定義的函式名字(注意並沒有執行,只是傳入)

執行這段指令碼,如無意外你的瀏覽器就啟動了一頁,地址是

http://localhost:8080

Python終於可以簡單做個漂亮介面!pywebio做一個數據查詢器

如果你不熟悉 html 的各種標籤,你可能連基本的排版都做不到。

這還好,pywebio 還支援 markdown:

def main(): output。put_markdown(‘# 表格顯示程式’) output。put_markdown(‘功能如下:’) output。put_markdown(“”“- 選擇檔案- 自動載入輸出表格一部分內容 ”“”)

Python終於可以簡單做個漂亮介面!pywebio做一個數據查詢器

輸入操作

只有輸出操作是滿足不了需求,介面上很多輸入操作。

選擇檔案就是一種輸入操作(使用者輸入內容到介面上):

import pywebioimport pywebio。output as outputimport pywebio。input as inputdef main(): output。put_markdown(‘# 表格顯示程式’) output。put_markdown(‘功能如下:’) output。put_markdown(“”“- 選擇檔案- 自動載入輸出表格一部分內容 ”“”) file = input。file_upload(‘選擇一個excel檔案’,‘。xlsx’)

行3:匯入輸入操作模組

行13:使用 file_upload 用來讓使用者選擇檔案上傳。第一個引數是提示內容,第二個引數是限定檔案字尾名

使用者選擇的檔案將會賦值到變數 file

看看效果:

Python終於可以簡單做個漂亮介面!pywebio做一個數據查詢器

點選右邊的“Browse”按鈕,即可從彈窗中選擇excel檔案。

點選提交按鈕後,之前的程式碼就會繼續往下執行。

有了檔案內容,我們用 pandas 讀取:

import pywebioimport pywebio。output as outputimport pywebio。input as inputimport pandas as pddef main(): output。put_markdown(‘# 表格顯示程式’) output。put_markdown(‘功能如下:’) output。put_markdown(“”“- 選擇檔案- 自動載入輸出表格一部分內容 ”“”) file = input。file_upload(‘選擇一個excel檔案’,‘。xlsx’) df = pd。read_excel(file[‘content’]) output。put_html(df。head(10)。to_html())

行15:透過 file[‘content’] 獲取檔案內容。

行16:df。to

html() 就能生成完整的表格 html ,然後用 put

html 輸出即可

看看效果:

Python終於可以簡單做個漂亮介面!pywebio做一個數據查詢器

重點

最終的程式碼如下:

import pywebioimport pywebio。output as outputimport pywebio。input as inputimport pandas as pddef main(): output。put_markdown(‘# 表格顯示程式’) output。put_markdown(‘功能如下:’) output。put_markdown(“”“- 選擇檔案- 自動載入輸出表格一部分內容 ”“”) file = input。file_upload(‘選擇一個excel檔案’,‘。xlsx’) df = pd。read_excel(file[‘content’]) output。put_html(df。head(10)。to_html())

所有的input操作程式碼,都會等待介面操作完畢才會往下執行。例如行14 file_upload 會一直卡住,直到介面上點選 “提交” 按鈕

按照上面的流程,這個函式將會執行完畢。如果希望重新執行一次,只需要重新整理一下瀏覽器的頁面

只是載入資料太沒趣了?下一節將進一步改進,載入資料後可以對資料查詢

Python終於可以簡單做個漂亮介面!pywebio做一個數據查詢器

推薦閱讀:

Python動態互動系列(01),不用改程式碼,點點按鈕就可以完成

懂Excel輕鬆入門Python資料分析包pandas(29):輕鬆做出篩選控制元件