次の形式の数千のレコードを含む XML ファイルがあります。
<custs>
<record cust_ID="B123456@Y1996" l_name="Jungle" f_name="George" m_name="OfThe" city="Fairbanks" zip="00010" current="1" />
<record cust_ID="Q975697@Z2000" l_name="Freely" f_name="I" m_name="P" city="Yellow River" zip="03010" current="1" />
<record cust_ID="M7803@J2323" l_name="Jungle" f_name="Jim" m_name="" city="Fallen Arches" zip="07008" current="0" />
</custs>
# (I know it's not normalized. This is just sample data)
これを CSV またはタブ区切りファイルに変換するにはどうすればよいですか? re.compile() ステートメントを使用して Python でハードコーディングできることはわかっていますが、diff XML ファイル レイアウトの中で、より簡単で移植性の高い方法が必要です。
ここで、属性に関するいくつかのスレッドを見つけました ( Beautifulsoup は attrs=class を使用してデータを抽出できません、 Beautifulsoupで属性値を抽出しています)。
# Python 3.30
#
from bs4 import BeautifulSoup
import fileinput
Input = open("C:/Python/XML Tut/MinGrp.xml", encoding = "utf-8", errors = "backslashreplace")
OutFile = open('C:/Python/XML Tut/MinGrp_Out.ttxt', 'w', encoding = "utf-8", errors = "backslashreplace")
soup = BeautifulSoup(Input, features="xml")
results = soup.findAll('custs', attrs={})
# output = results [0]#[0]
for each_tag in results:
cust_attrb_value = results[0]
# print (cust_attrb_value)
OutFile.write(cust_attrb_value)
OutFile.close()
次の(最後の?)ステップは何ですか?