python 引數命名的坑
阿新 • • 發佈:2018-11-22
在處理一批資料時,時間引數命名為如下紅體字這樣帶下劃線的格式,
def get_data( dt_start,dt_end): with execute_sql() as getData: s = f"select * into temp_new.dbo.online_臨時表 from (select distinct b.一級來源型別,isnull(a.總量,0)數量 from eccrc_rep.dbo.pg_cust_analysis_all b left join (SELECT 一級來源型別,COUNT(pg_cust_id)總量 FROM eccrc_rep.dbo.pg_cust_analysis_all WHERE 客戶狀態='0' AND 工商型別='標準企業工商' AND 建立年月>='{ dt_start(venv) PS D:\Project\python\webfirst> python month.py
File "month.py", line 74
SyntaxError: Non-UTF-8 code starting with '\xe5' in file month.py on line 74, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
(venv) PS D:\Project\python\webfirst>
這是為啥呢?怎麼解決呢?
這是個坑,python中的 執行的sql語句中 ‘建立年月>='{dt_start}' AND 建立年月<='{dt_end}' ’引數不能帶特殊符號,例如 '_' ,不能帶下劃線,命名引數時要注意。不然會出錯。
將dt_start,dt_end這兩個引數改為start,end後,指令碼執行成功。