-2
XMLファイルからいくつかのデータを抽出しようとしていて、その情報でExcelを作成しようとしています。xmlからExcel(Python 2.7)にデータを抽出
XMLファイル:
<UniversalTransaction>
<TransactionInfo>
<DataContext>
<DataSourceCollection>
<DataSource>
<Type>AccountingInvoice</Type>
<Key>AR INV 00001006</Key>
</DataSource>
</DataSourceCollection>
<Company>
<Code>DCL</Code>
<Country>
<Code>CL</Code>
<Name>Chile</Name>
</Country>
<Name>Your Chile Corp</Name>
</Company>
...etc
それから私は、2.7
import xml.etree.ElementTree as ET
import xlwt
from datetime import datetime
tree = ET.parse('ar.xml')
root = tree.getroot()
#extract xml
invoice = root.findall('DataSource')
arinv = root.find('Key').text
country = root.findall('Company')
ctry = root.find('Name').text
wb = xlwt.Workbook()
ws = wb.add_sheet('A Test Sheet')
ws.write(0, 0, arinv)
ws.write(0, 1, ctry)
wb.save('example2.xls')
pythonでこのコードを作ったしかし、私はこのエラーを取得:
arinv = root.find('Key').text
'NoneType' object has no attribute 'text'
を、私はそれは同じになります推測しますwith
私はこのfor ar in root.findall('DataContext'):
nro = []
ctry = []
inv = ar.find('Key').text
nro.append(inv)
country = ar.find('Name').text
ctry.append(country)
にコードの「XMLを抽出」の部分を変更すると
はまた、私は次のエラーを取得:再び
ws.write(0, 0, arinv)
name 'arinv' is not defined
を、私はCTRY」との同じことを推測します「
のWindows 10、パイソン2.7
私は任意のヘルプ、感謝をapreciateます。
いただき、ありがとうございます答え、フィトンの詳細を調べるために何かを助けてください。私のコードは、トップレベルが ''であるときに子供から情報を抽出しますが、オリジナルにはURL そしてそのトップレベルのコードでは、コードを抽出できません。単にリストの範囲外です。 –
はい、文書が(xmlns'を介して)名前空間を定義する場合は、 xpath 'root.findall( '.// {http://www.name.com/Sche/Unive/2011/11} Key')[0] .text'に移動します。または、名前空間プレフィックス辞書に第2引数 'root.findall( '。myprefix:Key'、{'myprefix': 'http://www.name.com/Sche/Unive/2011/11'}) 0] .text' –
それは動作します、ありがとう! –