2017-12-15 19 views
-2

ねえ、私はPythonでhtmlを作りたいと思っています。私はPythonリクエストでxmlを読んだ。そして私は属性の要素を数えました。Python lxml html builder

count = len(nodeData.xpath("//user[@condition='good']")) 
print (count)` 

このようにしてください。

今、私はカウントの数が残っているテーブルを取得したいと思います。

nodeRow = html.TR(html.TD(count , style="background-color:#FF0000") 
nodeTable.append(nodeRow) 

print etree.tostring(nodeTable) 
with open("out3.html", "wb") as f: 
    f.write(etree.tostring(nodeTable)) 

しかし、これは機能しません。エラーは

TypeError: bad argument type: int(2746)

+1

このエラーには行番号が付いていますか? (ヒント:**はい**) – usr2564301

答えて

1

です。エラーコードはかなり明確です。要素のテキストコンテンツに文字列を入れることはできません。あなたはintを持っているので、Pythonはうんざりです。最初の文字列に変換します

nodeRow = html.TR(html.TD(str(count) , style="background-color:#FF0000") 

あなたはそれがこれらの小さな障害物の世話をし、長いHTMLスニペットのより自然な書き込みを可能にするようしかし、それは、はるかに簡単にこれを行うことになりますテンプレートライブラリを使用することを検討すべきです。

+0

OHHありがとうございます!!!!!!!!!それは働く! :)))))))<3 –

+1

@ 123bodyuilding:この回答を受け入れてください。初めの[ツアー]も読んでみたいかもしれません(はい、できませんでした)。多分、[ヘルプ]を一目見ても良いでしょう。 – usr2564301

+0

はい、あなたの権利!!私はそれを受け入れた –