テーブルのレコードのフィールドの1つに文字列の形式で価格が含まれているdbを取得しました。文字列自体は大したことではありませんが、価格はまったくフォーマットされていません。
$12,000.50
$3.50
From $3.50 to $12,000.50
私が取得しようとしているものは次のとおりです。
12000.50
3.50
3.50
すべての「$」と「,」を取り除き、2 の最初の桁だけを残します
私はこのコードを作成しましたが、最初から例までは機能しますが、最後の例では失敗します(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] は価格フィールドです。
どうすればより効率的に (正規表現の有無にかかわらず)、よりシンプルで、より普遍的なものにできますか?
前もって感謝します