当前位置: 首页 > Web前端 > HTML

【提升团队效率】Python-PyWebIO简介

时间:2023-04-03 00:02:14 HTML

浣滆€咃細浜笢闆跺敭閲嶇偣闂瓟蹇€熶簡瑙yWebIOQ锛氶鍏堬紝浠€涔堟槸PyWebIO锛烝锛歅yWebIO鎻愪緵浜嗕竴绯诲垪鍛戒护寮忕殑浜や簰鍔熻兘锛岃鎴戜滑鍙敤Python灏卞彲浠ョ紪鍐橶eb搴旂敤锛屾棤闇€缂栧啓鍓嶇椤甸潰鍜屽悗绔晫闈紝澶уぇ鎻愰珮浜嗙畝鍗昒I寮€鍙戠殑鏁堢巼锛堟垜涓嶆槸developer,use杩欎釜璇嶅彲鑳戒笉鍚堥€傦紝璇疯交鎷嶏級Q锛氬叾娆★紝鎴戜滑鍙互鐢ㄥ畠鍋氫粈涔堬紵锛熻繖瀵瑰洟闃熸晥鐜囨湁浣曞奖鍝嶏紵锛烝锛歅ywebio鐨勪綔鐢ㄦ槸璁╂垜浠兘澶熷揩閫熷紑鍙戝嚭鍏锋湁UI鐣岄潰鐨勫簲鐢ㄧ▼搴忥紝鏀寔鐢ㄦ埛杈撳叆锛屽苟浠ユ棦瀹氶€昏緫杈撳嚭缁撴灉銆傞偅涔堬紝鎴戜滑鑳藉惁灏嗗洟闃熶腑鐨勪竴浜涙満姊版暟鎹鐞嗐€佹暟鎹彉鍖栧垎鏋愮瓑宸ヤ綔閫氳繃Pywebio浠ラ€昏緫鐨勬柟寮忚緭鍑哄埌涓€涓彲澶嶇敤鐨勫簲鐢ㄧ▼搴忎腑锛屼緵澶у浣跨敤鍛紵褰撶劧锛屽湪鏃ュ父鐨勬暟鎹搷浣滆繃绋嬩腑锛屾垜浠偗瀹氫笉浼氶潰瀵逛竴鎴愪笉鍙樼殑鎯呭喌銆傞偅涔堬紝鎴戜滑鑳藉惁閫氳繃涓嶅悓鐨勫弬鏁拌緭鍏ユ柟寮忔潵杈惧埌涓€瀹氱殑閫氱敤鎬у憿锛熷彧瑕乧ase涓巆ase涔嬮棿鐨勫簳灞傞€昏緫鏄竴鑷寸殑锛屾垜浠氨鍙互浣跨敤鍚屼竴濂楅€昏緫锛屼笉鍚岀殑杈撳叆鍙傛暟锛屽緱鍒颁笉鍚岀殑缁撴灉杈撳嚭銆備緥瀛愬鏋滄垜浠瘡澶╅兘鏈変竴涓伐浣滐紝姣忓ぉ闈㈠涓€涓帴涓€涓笟鍔″弽棣堢殑璁㈠崟锛岀劧鍚庨儴闂ㄩ渶瑕佽嚜宸卞杩欎簺璁㈠崟杩涜鍒濇鐨勯闄╁垎灞傦紝鎴戜滑鏄惁鍙互鎶婇闄╁垎灞傜殑搴曞眰瑙勫垯鍐欏湪鍚庡彴锛岀劧鍚庡埄鐢≒ywebIO鏀寔鍦ㄤ笉鍚屾儏鍐典笅杈撳叆涓嶅悓鐨勮鍒欓槇鍊硷紝蹇€熷緱鍒版垜浠渶瑕佺殑椋庨櫓鍒嗗眰缁撴灉銆傦紙褰撶劧锛屽鏋滄暟鎹厑璁革紝涔熷彲浠ョ洿鎺ュ啓SQL銆備笉杩囷紝SQL闇€瑕佷竴瀹氱殑闂ㄦ锛孭ywebIO鍙互閫氳繃UI鍒嗕韩缁欓偅浜涙病鏈夋妧鏈儗鏅殑鎿嶄綔浜哄憳浣跨敤0浠g爜銆傦級涓嬮潰姝e紡寮€濮嬬敤涓€涓緥瀛愭潵閫愭浠嬬粛PywebIO鎵╁睍鍖呯殑浠嬬粛銆傝櫄鎷熷悗鍙帮細闇€瑕佹瘡澶╁涓氬姟鍙嶉鐨勬牱鏈繘琛岄闄╁垎灞傦紝浠ユ彁楂樺鐞嗘晥鐜囥€傛柟妗堬細鏋勫缓涓€涓敮鎸佺伒娲婚厤缃槇鍊肩殑UI搴旂敤锛岄€氳繃鐜版湁椋庨櫓鏍囩鐨勭幓灏旀爣绛惧拰闈炵幓灏旀爣绛句綋绯伙紝蹇€熻幏鍙栧垎灞傜粨鏋溿€傛柟妗堜粙缁嶏細鍩烘湰閫昏緫濡備笅锛岋紙浠ヤ笅鍧囦负绀轰緥锛屽苟涓嶄唬琛ㄨ鏂规鍙互鐢ㄤ簬椋庨櫓鍒嗗眰锛岃澶у娉ㄦ剰锛変笂浼犳湰鍦癱sv锛岀劧鍚庨厤缃槇鍊?绗竴姝ワ細鏈湴鏂囦欢涓婁紶棣栧厛锛屾枃浠朵笂浼犵殑浠g爜涓€瀹氳鏀惧湪绗竴浣嶃€?#绀轰緥濡備笅锛歩mportpandasasppdffrompywebio.inputimport*frompywebioimportstart_serverfrompywebio.outputimport*importnest_asyncioimportnumpyasnpimportosimporttimenest_asyncio.apply()importpandasasppdffrompywebio.inputimport*frompywebiofrompy.webioimportstart_serverimport*importnest_asyncioimportnumpyasnpimportosimporttimenest_asyncio.apply()defread_csv():put_markdown('#鍙敮鎸乸in')put_markdown('鍔熻兘濡備笅锛?)put_markdown("""-閫夋嫨鍚屾枃浠跺すas绋嬪簭**鏂囦欢-杈撳叆浣犺鐨勫崱鐨勯闄╁€奸槇鍊?*涓嶈緭鍏ラ粯璁?10**-鑷姩鍔犺浇鍒嗘瀽杈撳嚭鏋侀粦鏍囨瘮渚嬪拰璇︾粏鏁版嵁-璇峰嬀閫変綘闇€瑕佺殑鏍囩**锛堝彇娑堝嬀閫?鍏ㄩ€夛級**锛岀劧鍚庣偣鍑绘彁浜?"")file=file_upload('鍙敮鎸佷笂浼犵▼搴忔墍鍦ㄦ枃浠跺す涓殑csv鏂囦欢','.csv')##鏈湴鏂囦欢raw_data=pd.read_csv(os.getcwd()+"\"+file['filename'],encoding='gbk')put_html(raw_data.to_html())if__name__=='__main__':start_server(read_csv,port=8081,debug=True,cdn=False,auto_open_webbrowser=True)鍏佽浠g爜鍚庯紝鍥犱负鈥渁uto_open_webbrowser=True鈥濓紝鑷姩寮瑰嚭涓€涓猈ebU鎴戯紝濡備笅宸﹀浘锛岄€夋嫨涓婁紶鐨勬枃浠讹紝鍦ㄥ彸涓嬪浘涓彲浠ョ湅鍒版枃浠舵暟鎹煈夌浜屾锛氶闄╁€煎崱鎺х涓€姝ワ紝灏辨槸涓婁紶鏂囦欢骞舵樉绀烘枃浠讹紝杩欒繕娌℃湁杈惧埌鎴戜滑鐨勭洰鐨勬墍浠ワ紝绗簩姝ユ槸瀵逛笂浼犵殑csv鏈韩杩涜鏁版嵁澶勭悊鍜岄€昏緫鍒ゆ柇銆傝繖鍏跺疄寰堝ソ鐞嗚В銆傜涓€姝ワ紝宸茬粡鑾峰彇鍒颁笂浼犵殑鏂囦欢锛屽苟杞崲鎴恉ataframe浜嗗惂锛熷叾瀹炴垜浠彧闇€瑕佷娇鐢ㄦ垜浠啛鎮夌殑pandas鏉ュ鐞哾ataframe鍗冲彲銆備粠pywebio.inputimport*frompywebioimportstart_serverfrompywebio.outputimport*importnest_asyncioimportnumpyasnpimportosimporttimenest_asyncio.apply()defconfiguration_rule_risk_threshold(df,user_risk,pp_risk=None):df_updated=df[(df['椋庨櫓鍊糀']>=user_risk)|((df['椋庨櫓鍊糂']>=pp_risk))]returndf_updateddefread_csv():put_markdown('#鍙敮鎸乸in')put_markdown('鍑芥暟濡備笅:')put_markdown("""-閫夋嫨鍜岀▼搴?*鍚屾枃浠跺す**鐨勬枃浠?杈撳叆浣犺鐨勫崱鐨勯闄╁€奸槇鍊?*涓嶈緭鍏ラ粯璁?10**-鑷姩鍔犺浇鍒嗘瀽鏋侀粦鏍囩杈撳嚭姣斾緥鍜岃缁嗘暟鎹?璇峰嬀閫夋偍闇€瑕佺殑鏍囩**锛堜笉鍕鹃€?鍏ㄩ€夛級**锛岀劧鍚庣偣鍑绘彁浜?"")file=file_upload('鍙敮鎸佷笂浼犵▼搴忔墍鍦ㄦ枃浠跺す鐨刢svFileoh','.csv')##Localfiledata=[]raw_data=pd.read_csv(os.getcwd()+"\"+file['filename'],encoding='gbk')put_html(raw_data.to_html())##--------------------------涓嬮潰鏄浜屾鐨勬柊浠g爜-------------------------risk_value=input_group("risk_value",[input("椋庨櫓鍊糀锛堥粯璁?10锛夛紵",name="user_risk",type=NUMBER),input("椋庨櫓鍊糂(榛樿-10)?",name="pp_risk",type=NUMBER)],)raw_data_upated=閰嶇疆rule_risk鍊奸槇鍊?raw_data,risk_value['user_risk'],risk_value['pp_risk'])table1=raw_data_upated.groupby('indicator').account.count().reset_index()table1['proportion']=table1.account/len(raw_data_upated.account.unique())*100table1.sort_values('proportion',ascending=False,inplace=True)put_html(table1.to_html())##-------------------------浠ヤ笂鏄浜屾鏂板鐨勪唬鐮?-----------------------if__name__=='__main__':start_server(read_csv,port=8081,debug=True,cdn=False,auto_open_webbrowser=True)馃憠绗笁姝ワ細鏍囩鍗℃帶浠庣浜屾寮€濮嬶紝鎴戜滑灏卞畬鎴愪簡椋庨櫓鍊奸槇鍊肩殑鍗℃帶锛屾帴涓嬫潵灏辨槸绗笁姝ョ涓€姝ユ槸鏍囩鐨勯€夋嫨銆傞€氳繃瀵规爣绛剧殑浜嗚В鍜屽簲鐢ㄧ粡楠岋紝浠ュ強绗簩姝ュ緱鍒扮殑鏍锋湰涓爣绛炬墍鍗犵殑姣斾緥锛屾垜浠彲浠ュ緢蹇煡閬撹繖涓牱鏈腑鐨勬爣绛惧垎甯冩槸鎬庢牱鐨勩€傛洿杩涗竴姝ワ紝閫氳繃鏍囩鐨勯€夋嫨锛屾垜浠渶缁堝彲浠ュ緱鍒版弧瓒虫垜浠闄╁垎灞傜粨鏋滀腑椋庨櫓閮ㄥ垎鐨勮緭鍑恒€俰mportpandasaspdfrompywebio.inputimport*frompywebioimportstart_serverfrompywebio.outputimport*importnest_asyncioimportnumpyasnpimportosimporttimenest_asyncio.apply()def閰嶇疆rule_risk鍊奸槇鍊?df,user_risk,pp_risk=None):df_updated=df[(df['椋庨櫓鍊糀']>=user_risk)|((df['椋庨櫓鍊糂']>=pp_risk))]returndf_updateddefread_csv():put_markdown('#鍙敮鎸乸in')put_markdown('鍑芥暟濡備笅follows:')put_markdown("""-閫夋嫨鍜岀▼搴忓湪**鍚屼竴鏂囦欢澶?*鐨勬枃浠?杈撳叆浣犺鐨勭墝RiskValueThreshold**涓嶈緭鍏ラ粯璁?10**-鑷姩鍔犺浇鍒嗘瀽鏋侀粦鏍囩鍗犳瘮鍜岃缁嗘暟鎹殑杈撳嚭-璇峰嬀閫変綘闇€瑕佺殑鏍囩**锛堜笉鍕鹃€?鍏ㄩ€夛級**锛岀劧鍚庣偣鍑绘彁浜?"")file=file_upload('鍙敮鎸佷笂浼犵▼搴忔墍鍦ㄦ枃浠跺す涓殑csv鏂囦欢','.csv')##Localfiledata=[]raw_data=pd.read_csv(os.getcwd()+"\"+file['filename'],encoding='gbk')put_html(raw_data.to_html())risk_value=input_group("risk_value",[input("椋庨櫓鍊糀锛堥粯璁?10锛夛紵",name="user_risk",type=NUMBER),input(&quo鍚?椋庨櫓鍊糂锛堥粯璁?10锛夛紵",name="pp_risk",type=NUMBER)],)raw_data_upated=閰嶇疆瑙勫垯_椋庨櫓鍊奸槇鍊?raw_data,risk_value['user_risk'],risk_value['pp_risk'])table1=raw_data_upated.groupby('indicator').account.count().reset_index()table1['account']=table1.account/len(raw_data_upated.account.unique())*100table1.sort_values('account',ascending=False,inplace=True)put_html(table1.to_html())##--------------------------涓嬮潰鏄涓夋鐨勬柊浠g爜--------------------------set_list=raw_data_upated.Indicators.unique()list_save=checkbox(label='鍕鹃€変繚鐣欐爣绛撅紝uncheck=all',options=set_list,inline=True)iflist_save==[]:list_save=set_listelse:list_save=list_saveraw_data_upated=raw_data_upated[raw_data_upated.indicator.isin(list_save)]put_html(raw_data_upated.to_html())defSave0():put_markdown("浣犵偣鍑讳繚瀛樻寜閽?瀹屾垚").show()raw_data_upated.to_excel(os.getcwd()+"\"+'杈撳嚭椋庨櫓璇︽儏.xlsx',index=False)put_markdown("鍦ㄧ▼搴忓悓绾ф枃浠跺す涓嬬殑鏂囦欢涓婃壘鍒颁綘鐨勬枃浠讹細杈撳嚭椋庨櫓璇︽儏.xlsx").show()put_buttons(['涓嬭浇鏂囦欢"inner涓嶈externally.xlsx"'],onclick=[Save0]).show()##--------------------------涓婇潰鏄涓夋娣诲姞浠g爜------------------------if__name__=='__main__':start_server(read_csv,port=8081,debug=True,cdn=False,auto_open_webbrowser=True)馃憠鎬荤粨杩欓噷鍙槸涓€涓畝鍗曠殑渚嬪瓙锛屼竴涓敮鎸侀槇鍊?鏍囩鍗$墖鎺у埗鐨勪緥瀛愶紝蹇€熻幏鍙栫鍚堣姹傜殑鐩爣浜虹兢銆傚叾瀹炶繖涓鏋剁殑鎵╁睍杩樻湁寰堝銆備緥濡傦細1銆佺洿杩炴暟鎹簱鍙互甯姪閭d簺涓嶆噦SQL鐨勫悓浜嬮€氳繃鑷畾涔夊揩閫熻幏鍙栦笟鍔℃暟鎹€?銆丳yinstaller鎵撳寘鎴愭湰鍦扮▼搴忥紝涓庝唬鐮佺幆澧冨垎绂伙紝鍙湪浠讳綍鐢佃剳銆佷换浣曠幆澧冧笅浣跨敤銆傚笇鏈涜繖涓緥瀛愬彲浠ュ府鍔╁埌澶у锛屾劅璋㈠ぇ瀹剁殑鑰愬績闃呰