我有一個來自文件的 SQL 字符串,如下所示: SELECT a.codeid, a.name, a.order, a.cost, a.nodays FROM Table a Where a.codeid = 'old_id' and a.name = 'myname' and a.nodays = 'count_days'這里的'old_id'、'myname'和'count_days'是我需要在運行sql查詢時更改為真實值的虛擬值,例如'abcd'的id 'Bishop'的名稱和5(例如)的nodays。我已經定義了一個 python 函數來將文件中的 sql 查詢轉換為我想要的真實 sql(之后將使用 pyodbc 來提取數據) import re def dummyTorealQuery(file, idval, nameval, daysval): daysval_st = str(daysval) mydict = {'old_id': idval,'myname': nameval,'count_days':daysval_st} fr = open(file, 'r') real_query = fr.read() fr.close() for key, value in mydict.items(): real_query = re.sub(key,value, real_query) myquery = dummyTorealQuery(myfile 'abcd', 'Bishop', 5)但是,當我得到輸出時,它看起來像: SELECT a.codeid, a.name, a.order, a.cost, a.nodays FROM Table a Where a.codeid = 'abcd' and a.name = 'Bishop' and a.nodays = '5'問題是,我不希望最后一行用 5 括在一個字符串中,我希望它是 SELECT a.codeid, a.name, a.order, a.cost, a.nodays FROM Table a Where a.codeid = 'abcd' and a.name = 'Bishop' and a.nodays = 5我怎樣才能做到這一點?我知道這篇文章很長,但如果有幫助,我覺得有一個完整的討論。因此,簡潔地說,我需要用浮點數替換字符串中的特定文本,例如:*“世界你好,我要去* 一些 *天的假期”*因此需要將上面的文本“somenumber”替換為 30 天的樣子(使用 python 正則表達式或替換或其他)* '你好世界我要去度假 30 天' *謝謝。
2 回答

滄海一幻覺
TA貢獻1824條經驗 獲得超5個贊
如果要將表示浮點數的字符串轉換為實際浮點數,請使用 Python 的 float 方法:
s = '30.0'
f = float(s)
變量 f 現在是一個浮點數。
添加回答
舉報
0/150
提交
取消