On Monday, 18 April 2016 13:13:21 UTC+10, Sayth Renshaw wrote:
> 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 & B
> > > Cummings) & 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" bonusindic
ator="" />
> > > <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" bonusindicato
r="" />
> > > <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 & 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" secti
onal200="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 & 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" se
ctional600="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 & M G Bott)
> > > & Evergreen Rich (Mgr: A W Bott, P K Siu, M Siu & 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" decimalm
argin="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 & 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" se
ctional600="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" sectional
400="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" sect
ional600="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
Using zip and Pandas I can get it into a good format easily, yay python.
from pyquery import PyQuery as pq
import pandas as pd
d = pq(filename='20160319RHIL0_edit.xml')
res = d('nomination')
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 = list(zip(nomID, horseName))
frames = pd.DataFrame(zipped)
print(frames)
0 1
0 171115 Vergara
1 187674 Heavens Above
2 184732 Sweet Fire
3 181928 Alegria
4 158914 Piamimi
5 171408 Blendwell
6 166836 Adorabeel (NZ)
7 172933 Mary Lou
8 182533 Skyline Blush
9 171801 All Cerise
10 181079 Gust of Wind (NZ)
Sayth
--
https://mail.python.org/mailman/listinfo/python-list