私は、企業向けにYahoo Financeから有形の価格/本をほとんど生成する、かなり壊れたコードをいくつか持っています(と呼ばれる優れたモジュールystockquote
は、無形の価格/本価値をすでに取得しています)。
私の問題はこれです:
計算の変数の 1 つである未発行株数については、 10.89Bや4.9Mなどの文字列を取得しています。ここで、BとMはそれぞれ10 億と100 万を表します。それらを数値に変換するのに問題があります。ここにいます:
shares=''.join(node.findAll(text=True)).strip().replace('M','000000').replace('B','000000000').replace('.','') for node in soup2.findAll('td')[110:112]
これはかなり面倒ですが、代わりに
.replace('M','000000').replace('B','000000000').replace('.','')
変数で正規表現を使用していました。問題は単純に、どの正規表現と変数かということだと思います。他の提案も良いです。
編集:
具体的には、小数点以下が 0、1、または 2 の数値で機能するものを望んでいますが、これらの回答はすべて役に立ちます。