次の方法で給与情報を含む文字列があります。
salaryMixed = "£25,000 - £30,000"
時々、次のようになります。
salaryMixed = "EUR25,000 - EUR30,000"
また、次のような場合もあります。
salaryMixed = "£37.50 - £50.00"
私がやりたいことは、数値以外のすべての文字を削除し、2 つの値を分割して、低いバンディングと高いバンディングを反映するそれぞれの変数に配置することです。これまでのところ、私は持っています:
if salaryMixed.find('£')!=-1: # found £ char
salaryMixed = salaryMixed.replace("£", "")
if salaryMixed.find('-')!=-1: # found hyphen
salaryMixed = salaryMixed.replace("-", "")
if salaryMixed.find(',')!=-1: # found comma
salaryMixed = salaryMixed.replace(",", "")
if salaryMixed.find('EUR')!=-1: # found EUR
salaryMixed = salaryMixed.replace("EUR", "")
salaryMixed = re.sub('\s{2,}', ' ', salaryMixed) # to remove multiple space
if len(salaryList) == 1:
salaryLow = map(int, 0) in salaryList
salaryHigh = 00000
else:
salaryLow = int(salaryList.index(1))
salaryHigh = int(salaryList.index(2))
salaryMixed
しかし、2つの値を分割する方法と、年収ではなく、浮動小数点数ではない場合のように時給である場合の小数点の処理方法に困惑していsalaryMixed = "£37.50 - £50.00"
ますか?
この情報を後でコードの MySQL DB に保存したいのですが、テーブルを次のように記述しました。
CREATE TABLE jobs(
job_id INT NOT NULL AUTO_INCREMENT,
job_title VARCHAR(300) NOT NULL,
job_salary_low INT(25),
job_salary_high INT(25),
PRIMARY KEY ( job_id )
);
ここで最善のアプローチは何ですか?ありがとう。