2017-12-05 5 views
1

これは別に(緯度、経度)持ちたい値(座標)です。[Python3x]:別々に2つの値を抽出するにはどうすればいいですか?

<input id="dokad" value="51.819544, 19.30441" type="hidden"> 

私はそのように実行します。

lat_lon = soup.find('input', attrs={'id':'dokad'}).get('value') 

結果:

lat_lon 
Out[1012]: '51.186147, 19.199997' 
type(lat_lon) 
Out[1013]: str 

がどのように私は別にこれら2つの値を抽出することができますか? floatに、あなたの文字列を変換するための分割文字列に

答えて

2

使用str.split()、その後float():その後、

  1. lat_lon = lat_lon.split(', ')
  2. そして、これを行うことによって浮かぶようにあなたのリストの要素を変換:今 lat_lon = [float(number) for number in lat_lon]

lat_lon変数に浮動小数点値のリストを含める必要があります。[51.186147, 19.199997]

+0

すべてが動作します。どうもありがとうございました。 – BigD

1

別の試みは、それらを個別に取得するには、以下のようなものにすることができます。

content=''' 
<input id="dokad" value="51.819544, 19.30441" type="hidden"> 
''' 
from bs4 import BeautifulSoup 
soup = BeautifulSoup(content,"lxml") 

item = soup.select("#dokad")[0]['value'] 
lat = item.split(", ")[0] 
lon = item.split(", ")[1] 

print("Lat: {}\nLong: {}".format(lat,lon)) 

結果:

Lat: 51.819544 
Long: 19.30441 
関連する問題