OFX エクスポート ファイルの xml フィールドを変更しようとしています。エクスポートのプロデューサーは、ファイルにファイルされている fitid の一意のキーを生成しないため、そのフィールドを xml の他の 2 つのフィールドから生成された一意のキーに置き換えたいと考えています。
私は次のコードまで取得しましたが、新しい FITID フィールドを記述する方法がわかりません。
XML ファイルのサンプルは次のとおりです。
<BANKTRANLIST>
<DTSTART>20130705</DTSTART>
<DTEND>20130805</DTEND>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20130708</DTPOSTED>
<TRNAMT>-7.99</TRNAMT>
<FITID>08072013660</FITID>
<NAME>HARE HATCH SHEEPLANDS </NAME>
<MEMO>Effective date: 06/07/2013</MEMO>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20130708</DTPOSTED>
<TRNAMT>-6.75</TRNAMT>
<FITID>08072013660</FITID>
<NAME>BINGHAMS BREWERY LIMIT </NAME>
<MEMO>Effective date: 06/07/2013</MEMO>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20130709</DTPOSTED>
<TRNAMT>-282.5</TRNAMT>
<FITID>09072013660</FITID>
<NAME>WWW.DVLA.GOV.UK </NAME>
<MEMO>Effective date: 08/07/2013</MEMO>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20130715</DTPOSTED>
<TRNAMT>-84.78</TRNAMT>
<FITID>15072013660</FITID>
<NAME>BP TWYFORD CONNECT </NAME>
<MEMO>Effective date: 12/07/2013</MEMO>
</STMTTRN>
<STMTTRN>
<TRNTYPE>DEBIT</TRNTYPE>
<DTPOSTED>20130715</DTPOSTED>
<TRNAMT>-25.1</TRNAMT>
<FITID>15072013660</FITID>
<NAME>WHITE HART SHERFIE </NAME>
<MEMO>Effective date: 13/07/2013</MEMO>
</STMTTRN>
</BANKTRANLIST>
私のpythonの試みは次のとおりです。
from xml.etree import ElementTree as et
datafile = '/Volumes/Data/Projects/moneydance fix/statement20130805.ofx'
tree = et.parse(datafile)
root = tree.getroot()
for stmtrn in root.iter('STMTTRN'):
amount = stmtrn.find('TRNAMT').text
date = stmtrn.find('DTPOSTED').text
fitid = stmtrn.find('DTPOSTED').text
print "amount: ", (amount.split('.')[0])[1:]
amount = (amount.split('.')[0])[1:]
fitid.text = (date + amount).ljust(12,'0')
print 'New fitid: ', fitid
tree.write(datafile+'new')