2016-10-04 7 views
0

私はXMLファイルを解析するPythonスクリプトを書いています。私は、XMLファイルの以下の部分を取得すると、文字列のベクトルをタプル形式に変換するにはどうしたらいいですか?

 <H.1> 
     (1.00000000000000, 0.000000000000000E+000) 
     </H.1> 

スクリプトは、テキストを解析するために、次の

H1 = H.find('H.1') 
    tokens = H1.text.split() 

これは、単一の文字列要素「(1.00000000000000、とトークンという名前のリストを作成し使用しています0.000000000000000E + 000) 'となります。生成されるものが最初の要素1.00000000000000と2番目の要素0.000000000000000E + 000のタプルになるようにするにはどうすればよいですか?または、少なくとも、ベクトルを文字列形式から2要素タプル形式に変換するにはどうすればよいですか?

答えて

1

あなたはastからliteral_evalを使用することができます。

>>> s = '(1.00000000000000,0.000000000000000E+000)' 
>>> from ast import literal_eval 
>>> t = literal_eval(s) 
>>> t 
(1.0, 0.0) 
>>> type(t[0]) 
<type 'float'> 
>>> print(type(t)) 
<type 'tuple'> 
+1

パーフェクト、どうもありがとう! – RicardoGarcia

関連する問題