Hi

I have an XML and using pyquery to obtain the elements within it and then write 
it to csv.

What is the best most reliable way to take dictionaries of each element, and 
print them(csv write later) based on each position so get item 0 of each list 
and then it 1 and so on.

Any other code I post is open to criticism. Because there are many attributes I 
will want to collect my thought is to create a list of lists, again seems a bit 
clunky so could be wrong.

from pyquery import PyQuery as pq


d = pq(filename='20160319RHIL0_edit.xml')
res = d('nomination')
# myAt = pq.each(res.attr('bbid'))
# print(repr(res))
# myAt = [res.eq(i).attr('horse') for i in range(len(res))]
# print(myAt)

nomID = [res.eq(i).attr('horse') for i in range(len(res))]
horseName = [res.eq(i).attr('horse') for i in range(len(res))]
group = [nomID, horseName]

for items in group:
    print(items)


This is my source.

<?xml version="1.0" encoding="UTF-8"?>
<meeting id="42736" barriertrial="0" venue="Rosehill Gardens" 
date="2016-03-19T00:00:00" gearchanges="-1" stewardsreport="-1" gearlist="-1" 
racebook="0" postracestewards="0" meetingtype="TAB" rail="Timing - Electronic : 
Rail - +2m" weather="Fine      " trackcondition="Good" 
nomsdeadline="2016-03-14T11:00:00" weightsdeadline="2016-03-15T16:00:00" 
acceptdeadline="2016-03-16T09:00:00" jockeydeadline="2016-03-16T12:00:00">
  <club abbrevname="Australian Turf Club" code="56398" associationclass="1" 
website="http://"; />
  <race id="213262" number="1" nomnumber="7" division="0" name="NATHAN'S FAMOUS 
EPONA STAKES" mediumname="EPONA" shortname="EPONA STAKES" stage="Results" 
distance="1900" minweight="0" raisedweight="0" class="~         " age="3U       
 " grade="0" weightcondition="SWP       " trophy="1000" owner="1000" 
trainer="0" jockey="0" strapper="0" totalprize="150000" first="90000" 
second="30000" third="15000" fourth="7500" fifth="3000" 
time="2016-03-19T12:40:00" bonustype="          " nomsfee="0" acceptfee="0" 
trackcondition="Good      " timingmethod="Electronic" fastesttime="1-56.83   " 
sectionaltime="600/35.3  " formavailable="0" racebookprize="Of $150000 and 
trophies of $1000. First $90000 and trophies of $1000 to owner, second $30000, 
third $15000, fourth $7500, fifth $3000, sixth $1500, seventh $1500, eighth 
$1500">
    <condition line="1">Of $150000 and trophies of $1000. First $90000 and 
trophies of $1000 to owner, second $30000, third $15000, fourth $7500, fifth 
$3000, sixth $1500, seventh $1500, eighth $1500</condition>
    <condition line="3">No class restriction, Set Weights plus Penalties, For 
Three-Years-Old and Upwards, Fillies and Mares, (Group 3)</condition>
    <condition line="5">No Allowances for apprentices. Field Limit: 14 + 4 
EM</condition>
    <nomination number="4" saddlecloth="4" horse="Vergara" id="171115" 
idnumber="" regnumber="" blinkers="1" trainernumber="38701" 
trainersurname="Cummings" trainerfirstname="Anthony" trainertrack="Randwick" 
rsbtrainername="Anthony Cummings" jockeynumber="86876" jockeysurname="McDonald" 
jockeyfirstname="James" barrier="7" weight="55" rating="93" description="B M 5 
Snippetson x Graces Spirit (Flying Spur)" colours="Yellow, Red Epaulettes And 
Cap" owners="Anthony Cummings Thoroughbreds Pty Ltd Syndicate (Mgrs: A &amp; B 
Cummings) &amp; P C Racing Investments Syndicate (Mgr: P J Carroll)  " 
dob="2010-10-07T00:00:00" age="6" sex="M" career="30-7-4-2 $295445.00" 
thistrack="6-1-1-0 $90500.00" thisdistance="0-0-0-0" goodtrack="17-3-2-2 
$101440.00" heavytrack="5-0-1-0 $20200.00" slowtrack="" deadtrack="" 
fasttrack="0-0-0-0" firstup="7-2-1-2 $108340.00" secondup="7-1-1-0 $43200.00" 
mindistancewin="0" maxdistancewin="0" finished="1" weightvariation="0" 
variedweight="55" decimalmargin="0.00" pe
 nalty="0" pricestarting="$12" sectional200="0" sectional400="0" 
sectional600="0" sectional800="0" sectional1200="0" bonusindicator="" />
    <nomination number="2" saddlecloth="2" horse="Heavens Above" id="187674" 
idnumber="" regnumber="" blinkers="0" trainernumber="736" 
trainersurname="Martin" trainerfirstname="Tim" trainertrack="Rosehill" 
rsbtrainername="Tim Martin" jockeynumber="46930" jockeysurname="Angland" 
jockeyfirstname="Tye" barrier="6" weight="56" rating="88" description="B M 4 
Street Cry(IRE) x Reggie(NZ) (Germano(GB))" colours="Yellow, Green Chevrons, 
Striped Cap" owners="President Bloodstock Pty Ltd (Mgr: R C Kemister)" 
dob="2011-08-12T00:00:00" age="5" sex="M" career="12-3-3-4 $271520.00" 
thistrack="4-0-3-0 $41425.00" thisdistance="0-0-0-0" goodtrack="10-2-2-4 
$214845.00" heavytrack="0-0-0-0" slowtrack="" deadtrack="" fasttrack="0-0-0-0" 
firstup="2-0-1-1 $20710.00" secondup="2-0-2-0 $24675.00" mindistancewin="0" 
maxdistancewin="0" finished="2" weightvariation="0" variedweight="56" 
decimalmargin="0.20" penalty="0" pricestarting="$3.80F" sectional200="0" 
sectional400="0" sectional600="0" sectional800="0" s
 ectional1200="0" bonusindicator="" />
    <nomination number="6" saddlecloth="6" horse="Sweet Fire" id="184732" 
idnumber="" regnumber="" blinkers="0" trainernumber="681" 
trainersurname="Waller" trainerfirstname="Chris" trainertrack="Rosehill" 
rsbtrainername="Chris Waller" jockeynumber="51661" jockeysurname="Berry" 
jockeyfirstname="Tommy" barrier="5" weight="54" rating="85" description="BR M 4 
Shamardal(USA) x Zarinia(IRE) (Intikhab(USA))" colours="Lilac And White Halves, 
Black Cap" owners="E J Lucas " dob="2011-09-25T00:00:00" age="5" sex="M" 
career="15-4-2-2 $212750.00" thistrack="6-1-1-1 $56690.00" 
thisdistance="0-0-0-0" goodtrack="9-2-1-2 $120395.00" heavytrack="1-0-0-0 
$450.00" slowtrack="" deadtrack="" fasttrack="0-0-0-0" firstup="3-0-0-0 
$1900.00" secondup="3-1-1-0 $42200.00" mindistancewin="0" maxdistancewin="0" 
finished="3" weightvariation="0" variedweight="54" decimalmargin="0.50" 
penalty="0" pricestarting="$7" sectional200="0" sectional400="0" 
sectional600="0" sectional800="0" sectional1200="0" bonusindicator="
 " />
    <nomination number="7" saddlecloth="7" horse="Alegria" id="181928" 
idnumber="" regnumber="" blinkers="1" trainernumber="235" 
trainersurname="O'Shea" trainerfirstname="John" trainertrack="Agnes 
Banks/Hawkesbury" rsbtrainername="John O'Shea" jockeynumber="40275" 
jockeysurname="Clark" jockeyfirstname="Tim" barrier="1" weight="54" rating="81" 
description="B M 4 Medaglia D'oro(USA) x Pure Joy (Fusaichi Pegasus(USA))" 
colours="Royal Blue" owners="Godolphin" dob="2011-10-06T00:00:00" age="5" 
sex="M" career="12-3-1-5 $216850.00" thistrack="4-1-0-2 $89600.00" 
thisdistance="0-0-0-0" goodtrack="5-1-1-3 $87575.00" heavytrack="4-2-0-1 
$114275.00" slowtrack="" deadtrack="" fasttrack="0-0-0-0" firstup="3-2-0-1 
$80500.00" secondup="3-0-0-2 $20850.00" mindistancewin="0" maxdistancewin="0" 
finished="4" weightvariation="0" variedweight="54" decimalmargin="0.70" 
penalty="0" pricestarting="$8.50" sectional200="0" sectional400="0" 
sectional600="0" sectional800="0" sectional1200="0" bonusindicator="" /
 >
    <nomination number="11" saddlecloth="11" horse="Piamimi" id="158914" 
idnumber="" regnumber="" blinkers="0" trainernumber="773" 
trainersurname="Bennett" trainerfirstname="Greg" trainertrack="Scone" 
rsbtrainername="Greg Bennett" jockeynumber="48503" jockeysurname="Williams" 
jockeyfirstname="Craig" barrier="8" weight="54" rating="75" description="B OR 
BR M 6 Not a Single Doubt x Blurrta(NZ) (Bahhare(USA))" colours="Yellow, Dark 
Blue Diamonds, Striped Sleeves And Cap" owners="Dr M Wylie, K Kenny, J Canning, 
M Mcfayden, B Hyde &amp; P Toubji " dob="2009-08-23T00:00:00" age="7" sex="M" 
career="35-6-4-3 $170275.00" thistrack="2-0-0-0 $5150.00" thisdistance="2-0-0-0 
$900.00" goodtrack="25-3-2-2 $78640.00" heavytrack="4-1-1-1 $24510.00" 
slowtrack="" deadtrack="" fasttrack="0-0-0-0" firstup="8-1-3-0 $27375.00" 
secondup="8-1-0-2 $32645.00" mindistancewin="0" maxdistancewin="0" finished="5" 
weightvariation="0" variedweight="54" decimalmargin="1.10" penalty="0" 
pricestarting="$41" sectional20
 0="0" sectional400="0" sectional600="0" sectional800="0" sectional1200="0" 
bonusindicator="" />
    <nomination number="10" saddlecloth="10" horse="Blendwell" id="171408" 
idnumber="" regnumber="" blinkers="0" trainernumber="78024" 
trainersurname="Moody" trainerfirstname="Peter G" trainertrack="Warwick Farm" 
rsbtrainername="Peter G Moody" jockeynumber="85036" jockeysurname="Lane" 
jockeyfirstname="Damian" barrier="10" weight="54" rating="78" description="B M 
5 Hard Spun(USA) x Bridie Belle(NZ) (Al Akbar)" colours="Tartan, Red Sash And 
Armbands" owners="D &amp; M Esplin Pty Ltd (Mgr: Mrs M E Esplin)" 
dob="2010-10-06T00:00:00" age="6" sex="M" career="17-4-3-4 $107845.00" 
thistrack="0-0-0-0" thisdistance="0-0-0-0" goodtrack="8-0-1-2 $25135.00" 
heavytrack="2-2-0-0 $42000.00" slowtrack="" deadtrack="" fasttrack="0-0-0-0" 
firstup="6-0-0-3 $8835.00" secondup="3-1-0-1 $20050.00" mindistancewin="0" 
maxdistancewin="0" finished="6" weightvariation="0" variedweight="54" 
decimalmargin="1.20" penalty="0" pricestarting="$17" sectional200="0" 
sectional400="0" sectional600="0" sectional800="0" se
 ctional1200="0" bonusindicator="" />
    <nomination number="3" saddlecloth="3" horse="Adorabeel (NZ)" id="166836" 
idnumber="" regnumber="" blinkers="0" trainernumber="1942" 
trainersurname="Pride" trainerfirstname="Joseph" trainertrack="Warwick Farm" 
rsbtrainername="Joseph Pride" jockeynumber="86280" jockeysurname="Clipperton" 
jockeyfirstname="Sam" barrier="9" weight="56" rating="86" description="BR OR 
BLK M 6 Savabeel x Plaza Doree(FR) (Saumarez(GB))" colours="Maroon, White 
Crossed Sashes, Yellow Armbands And Cap" owners="Mystery Downs (Mgr: F W Cook)" 
dob="2009-09-11T00:00:00" age="7" sex="M" career="34-6-5-4 $281810.00" 
thistrack="11-1-2-1 $105750.00" thisdistance="2-0-0-0 $3800.00" 
goodtrack="24-3-3-1 $203910.00" heavytrack="0-0-0-0" slowtrack="" deadtrack="" 
fasttrack="0-0-0-0" firstup="7-1-1-1 $28650.00" secondup="7-0-2-1 $25050.00" 
mindistancewin="0" maxdistancewin="0" finished="7" weightvariation="0" 
variedweight="56" decimalmargin="2.30" penalty="0" pricestarting="$13" 
sectional200="0" sectional400="0" sectiona
 l600="0" sectional800="0" sectional1200="0" bonusindicator="" />
    <nomination number="8" saddlecloth="8" horse="Mary Lou" id="172933" 
idnumber="" regnumber="" blinkers="1" trainernumber="38701" 
trainersurname="Cummings" trainerfirstname="Anthony" trainertrack="Randwick" 
rsbtrainername="Anthony Cummings" jockeynumber="86596" jockeysurname="Collett" 
jockeyfirstname="Jason" barrier="11" weight="54" rating="80" description="B M 5 
Fastnet Rock x Miss Alabama(NZ) (Woodman(USA))" colours="Red, Black Diagonal 
Stripes And Armbands, Quartered Cap" owners="E-Thoroughbred (Mgr: A W &amp; M G 
Bott) &amp; Evergreen Rich (Mgr: A W Bott, P K Siu, M Siu &amp; E Siu)" 
dob="2010-09-18T00:00:00" age="6" sex="M" career="18-3-3-4 $156860.00" 
thistrack="3-1-0-1 $33375.00" thisdistance="1-1-0-0 $17250.00" 
goodtrack="14-3-2-4 $130335.00" heavytrack="2-0-0-0 $525.00" slowtrack="" 
deadtrack="" fasttrack="0-0-0-0" firstup="3-1-0-0 $31125.00" secondup="3-0-1-2 
$25100.00" mindistancewin="0" maxdistancewin="0" finished="8" 
weightvariation="0" variedweight="54" decimalmargin=
 "2.70" penalty="0" pricestarting="$18" sectional200="0" sectional400="0" 
sectional600="0" sectional800="0" sectional1200="0" bonusindicator="" />
    <nomination number="9" saddlecloth="9" horse="Skyline Blush" id="182533" 
idnumber="" regnumber="" blinkers="1" trainernumber="38701" 
trainersurname="Cummings" trainerfirstname="Anthony" trainertrack="Randwick" 
rsbtrainername="Anthony Cummings" jockeynumber="1472" jockeysurname="McEvoy" 
jockeyfirstname="Kerrin" barrier="4" weight="54" rating="80" description="B M 4 
Northern Meteor x Cara Y Cruz(USA) (King of Kings(IRE))" colours="Red, Black 
Stripes" owners="Gooree Stud (E M Cojuangco &amp; M C Cummings)" 
dob="2011-10-29T00:00:00" age="5" sex="M" career="14-5-0-2 $204190.00" 
thistrack="4-1-0-1 $52225.00" thisdistance="2-1-0-1 $41375.00" 
goodtrack="7-0-0-1 $19535.00" heavytrack="4-2-0-1 $111125.00" slowtrack="" 
deadtrack="" fasttrack="0-0-0-0" firstup="3-1-0-0 $21125.00" secondup="3-0-0-1 
$12460.00" mindistancewin="0" maxdistancewin="0" finished="9" 
weightvariation="0" variedweight="54" decimalmargin="3.10" penalty="0" 
pricestarting="$9.50" sectional200="0" sectional400="0" sectiona
 l600="0" sectional800="0" sectional1200="0" bonusindicator="" />
    <nomination number="5" saddlecloth="5" horse="All Cerise" id="171801" 
idnumber="" regnumber="" blinkers="0" trainernumber="681" 
trainersurname="Waller" trainerfirstname="Chris" trainertrack="Rosehill" 
rsbtrainername="Chris Waller" jockeynumber="86721" jockeysurname="Dunn" 
jockeyfirstname="Dwayne" barrier="3" weight="54" rating="92" description="B M 5 
Redoute's Choice x Trick Taker(USA) (Capote(USA))" colours="Purple, White 
Hoops, Black Seams, Purple And White Quartered Cap" owners="Woppitt Bloodstock 
(Mgr: Mrs D N Kepitis)" dob="2010-11-05T00:00:00" age="6" sex="M" 
career="28-6-3-3 $349890.00" thistrack="10-1-1-1 $111750.00" 
thisdistance="0-0-0-0" goodtrack="21-6-2-3 $327690.00" heavytrack="2-0-0-0 
$450.00" slowtrack="" deadtrack="" fasttrack="0-0-0-0" firstup="7-1-0-2 
$45790.00" secondup="4-1-0-0 $71200.00" mindistancewin="0" maxdistancewin="0" 
finished="10" weightvariation="0" variedweight="54" decimalmargin="4.10" 
penalty="0" pricestarting="$6" sectional200="0" sectional400="0
 " sectional600="0" sectional800="0" sectional1200="0" bonusindicator="" />
    <nomination number="1" saddlecloth="1" horse="Gust of Wind (NZ)" 
id="181079" idnumber="" regnumber="" blinkers="1" trainernumber="41655" 
trainersurname="Sargent" trainerfirstname="John" trainertrack="Randwick" 
rsbtrainername="John Sargent" jockeynumber="84015" jockeysurname="Avdulla" 
jockeyfirstname="Brenton" barrier="2" weight="59" rating="106" description="B M 
4 Darci Brahma(NZ) x Starrystarrynight(IRE) (Sadler's Wells(USA))" 
colours="Yellow, White Checked Sash, Checked Sleeves And Cap" owners="Go 
Bloodstock (Mgr: Sir O G Glenn)" dob="2011-09-07T00:00:00" age="5" sex="M" 
career="12-3-0-0 $974900.00" thistrack="0-0-0-0" thisdistance="0-0-0-0" 
goodtrack="10-2-0-0 $279150.00" heavytrack="0-0-0-0" slowtrack="" deadtrack="" 
fasttrack="0-0-0-0" firstup="4-1-0-0 $8900.00" secondup="3-1-0-0 $20250.00" 
mindistancewin="0" maxdistancewin="0" finished="11" weightvariation="0" 
variedweight="59" decimalmargin="7.40" penalty="0" pricestarting="$15" 
sectional200="0" sectional400="0" sectional6
 00="0" sectional800="0" sectional1200="0" bonusindicator="" />
  </race>
</meeting>

If I do this


nomID = [res.eq(i).attr('horse') for i in range(len(res))]
horseName = [res.eq(i).attr('horse') for i in range(len(res))]
print(nomID, horseName)

comes out correctly

In [7]: 171115 Vergara

Since I will be taking another 10 attributes out of nominmation category an 
efficient way that ensures data integrity would be valued.

Thanks

Sayth 

-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to