gpt4 book ai didi

python - 如何在 python 中使用价格对字符串进行格式化?

转载 作者:行者123 更新时间:2023-11-28 18:48:23 24 4
gpt4 key购买 nike

我得到了数据库,其中表中记录的字段之一包含字符串形式的价格。字符串本身没什么大不了的——但价格是完全未格式化的:

$12,000.50
$3.50
From $3.50 to $12,000.50

我想得到的是:

12000.50
3.50
3.50

去掉所有的“$”和“,”,只留下两个中的第一个数字

我编写了这段代码,它适用于第一个示例但最后一个示例失败(sqlite 语法错误 - 显然它给了我两个数字)

代码如下:

for every_line:
found=re.findall(r"\d.\.?",every_line[9])
db_cursor.execute("UPDATE MAINTABLE SET Price="+"".join(found)+" WHERE Id="+str(every_line[0]))
db_connection.commit()

其中every_line[0]是索引字段,[9]是价格字段

如何让它更高效(有或没有正则表达式)、更简单和更通用?

提前谢谢你

最佳答案

',' 替换为空字符串 (''),然后应用这个简单的 regex:

>>> r = re.compile("\$(\d+.\d+)")

>>> r.search(strs.replace(',','')).group(1)
'12000.50'

>>> strs = '$3.50'
>>> r.search(strs.replace(',','')).group(1)
'3.50'

>>> strs = 'From $3.50 to $12,000.50'
>>> r.search(strs.replace(',','')).group(1)
'3.50'

关于python - 如何在 python 中使用价格对字符串进行格式化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17121816/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com