为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Python 将字符串/句子中的特定文本替换为浮点数

使用 Python 将字符串/句子中的特定文本替换为浮点数

料青山看我应如是 2021-09-28 15:35:04
我有一个来自文件的 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 现在是一个浮点数。


查看完整回答
反对 回复 2021-09-28
  • 2 回答
  • 0 关注
  • 211 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信