2011-08-05 9 views
2

セミコロンで区切られた文字列を分割して、個々の文字列をPythonを使用してXMLタグ間でテキストとして保存できるようにしたい。文字列値は、次のようになります。Pythonでセミコロンで区切られた文字列を分割する

08-26-2009;08-27-2009;08-29-2009 

彼らは、文字列は、私は、各値を反復変数に格納し、最後に次のコードに変数を呼び出したい

値として格納されてちょうど日付、次のとおりです。

for element in iter: 
    # Look for a tag called "Timeinfo" 
    if element.tag == "timeinfo": 
     tree = root.find(".//timeinfo") 
     # Clear all tags below "timeinfo" 
     tree.clear() 
     element.append(ET.Element("mdattim")) 
     child1 = ET.SubElement(tree, "sngdate") 
     child2 = ET.SubElement(child1, "caldate1") 
     child3 = ET.SubElement(child1, "caldate2") 
     child4 = ET.SubElement(child1, "caldate3") 
     child2.text = FIRST DATE VARIABLE GOES HERE 
     child2.text = SECOND DATE VARIABLE GOES HERE 
     child2.text = THIRD DATE VARIABLE GOES HERE 

助けてください。

+0

サンプルにエラーbtwがあります。私はchild2のコンテンツを3回設定したいとは思わないでしょう。 – pyroscope

+0

ありがとう。私の間違い。私が達成しようとしていたもの(コピー&ペースト)の簡単な例を設定していたときにそれらを追加しました。あなたは正しい、彼らはchild2、child3、child4でなければなりません。 – Mike

答えて

9

>>> a="08-26-2009;08-27-2009;08-29-2009" 
>>> a_split = a.split(';') 
>>> a_split 
['08-26-2009', '08-27-2009', '08-29-2009'] 
2
child2.text, child3.text, child4.text = three_dates_text.split(';') 
+0

これは私が望むものに近いですが、スクリプトの値を3日から4日またはそれ以下に変更するものがあります。投稿のおかげでありがとう。 – Mike

+1

あなたの質問を修正してください、あなたは私たちが事実を神聖にすることを期待することはできません。また、リストのスプライスは基本的なPythonです。チュートリアルを読む必要があります。 – pyroscope

2

あなたがchild1の、child2の、child3、およびchild4という名前の変数がある場合、それはあなたがリストを使用する必要があることをことをヒントコードのにおいであるが、以下のように分割がリストを返しますまたは他の種類のコレクションを使用することができます。

children = [ET.SubElement(tree, "sngdate")] 
children += [ET.SubElement(children[0], "caldate%s" % i) for i in xrange(3)] 

4つの別々の変数は、4つの要素を持つリストになります。今、あなたは、各項目で日付を更新して行くことができます。

dates = "08-26-2009;08-27-2009;08-29-2009" 

for i, d in enumerate(dates.split(";")): 
    children[i+1].date = d 

はあなたが事前にアイテムの数を知らない場合でも、任意の数のアイテムのために働くためにこれを適応させることができます。

+0

これは非常に興味深いアプローチです。投稿していただきありがとうございます。これは私よりも優れたアプローチです。私は質問または2を持っています。最初に "caldate"の最初のインスタンスで "caldate"と同じ階層に "time"という名前の追加タグがありますが、追加の繰り返しは発生しません。私はそれを構築する?私のXMLは次のようになります。 – Mike

+0

2009年8月26日 2009年8月27日 2009年8月29日 Mike

+0

申し訳ありませんが、コメントにXMLタグを書式設定できました。どうやら... – Mike

関連する問題