On Monday, 18 April 2016 12:12:59 UTC+10, Sayth Renshaw  wrote:
> On Monday, 18 April 2016 12:05:39 UTC+10, Sayth Renshaw  wrote:
> > 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
 " penalty="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" sectional1200="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" 
> > bonusindicat
 or="" />
> >     <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" section
 al200="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
 " sectional1200="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" sect
 ional600="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" decimalmar
 gin="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" sect
 ional600="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" 
> > sectional40
 0="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" sectio
 nal600="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
> 
> Also if I create it as an iterable only the first list in the list is printed.
> 
> group = [nomID, horseName]
> 
> iterthis = iter(group)
> 
> for items in iterthis:
>     print(items)
> 
> In [10]: ['Vergara', 'Heavens Above', 'Sweet Fire', 'Alegria', 'Piamimi', 
> 'Blendwell', 'Adorabeel (NZ)', 'Mary Lou', 'Skyline Blush', 'All Cerise', 
> 'Gust of Wind (NZ)']
> ['Vergara', 'Heavens Above', 'Sweet Fire', 'Alegria', 'Piamimi', 'Blendwell', 
> 'Adorabeel (NZ)', 'Mary Lou', 'Skyline Blush', 'All Cerise', 'Gust of Wind 
> (NZ)']
> 
> Sayth

Think I have a solution of sorts, although my numpy array failed, zip worked.

from pyquery import PyQuery as pq
import numpy as np

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('id') for i in range(len(res))]
horseName = [res.eq(i).attr('horse') for i in range(len(res))]
zipped = zip(nomID, horseName)

# yes = np.array(zipped)
for items in zipped:
    print(items)

In [8]: ('171115', 'Vergara')
('187674', 'Heavens Above')
('184732', 'Sweet Fire')
('181928', 'Alegria')
('158914', 'Piamimi')
('171408', 'Blendwell')
('166836', 'Adorabeel (NZ)')
('172933', 'Mary Lou')
('182533', 'Skyline Blush')
('171801', 'All Cerise')
('181079', 'Gust of Wind (NZ)')

Still interested if there is a better to do this.

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

Reply via email to