Yaml.load_all: "TypeError: list indices must be integers, not st
ahmadou_20
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
J'ai le fichier yaml suivant que je veux parser en utilisant yaml.load_all:
J'ai le code suivant mais en essayant de l'exécuter j'ai eu l'erreur "TypeError: list indices must be integers, not str" et je n'ai pas compris comment faire pourl'éviter !
Je pense que je suis entrain de rater un aspect fondamental concerant la structure des données et la facon dont yaml.load_all fonctionne!
J'esperais avoir un peu d'aide ici! Auriez-vous des idées?
Merci de votre aide!!
J'ai le fichier yaml suivant que je veux parser en utilisant yaml.load_all:
Version: 1
TxnCode: MPT
MessageID: "FFH-18544-1388620740-795905"
Recommendations:
- {ReqSegFlightRef: [[1,2]],TotalPriceRef: 1,PriceInfoRef: 1}
- {ReqSegFlightRef: [[3,4,2]],TotalPriceRef: 2,PriceInfoRef: 2}
- {ReqSegFlightRef: [[5,4,2]],TotalPriceRef: 3,PriceInfoRef: 3}
Flights:
- {OpCarrier: SN,MktCarrier: SN,FlightNb: 2902,DptDate: "0109",DptTime: "09:30",ArrTime: "11:05",DptAirport: VIE,ArrAirport: BRU}
- {OpCarrier: SN,MktCarrier: SN,FlightNb: 243,DptDate: "0109",DptTime: "12:15",ArrTime: "17:00",DptAirport: BRU,ArrAirport: FNA}
- {OpCarrier: OS,MktCarrier: LH,FlightNb: 6325,DptDate: "0109",DptTime: "06:30",ArrTime: "07:35",DptAirport: VIE,ArrAirport: MUC}
Prices:
- {TotalPrice: 1574.14,BaseAmount: 1368.00,TotalTaxe: 206.14,TotalSurcharge: 0.00,TotalFee: 0.00}
- {TotalPrice: 1633.57,BaseAmount: 1368.00,TotalTaxe: 265.57,TotalSurcharge: 0.00,TotalFee: 0.00}
- {TotalPrice: 1636.57,BaseAmount: 1368.00,TotalTaxe: 268.57,TotalSurcharge: 0.00,TotalFee: 0.00}
LFSDetails: |
PriceInfos:
- {FaresRef: [1,2],Price: {Total: 1574.14},Amount: {Total: 1368.00},Taxes: {Total: 206.14},Surcharges: {Total: 0.00},Fees: {Total: 0.00}}
- {FaresRef: [3,4,2],Price: {Total: 1633.57},Amount: {Total: 1368.00},Taxes: {Total: 265.57},Surcharges: {Total: 0.00},Fees: {Total: 0.00}}
- {FaresRef: [3,4,2],Price: {Total: 1636.57},Amount: {Total: 1368.00},Taxes: {Total: 268.57},Surcharges: {Total: 0.00},Fees: {Total: 0.00}}
ListCabinRequested: []
FareInfo:
- {RBD: M,FareBasis: BFFOWAT,PTC: ADT,BreakPointId: N,Availability: 9,Cabin: W,FareType: OB}
- {RBD: B,FareBasis: BFFOWAT,PTC: ADT,BreakPointId: Y,Availability: 9,Cabin: W,FareType: OB}
- {RBD: B,FareBasis: BFFOWAT,PTC: ADT,BreakPointId: N,Availability: 9,Cabin: M,FareType: OB}
Currency: EUR
J'ai le code suivant mais en essayant de l'exécuter j'ai eu l'erreur "TypeError: list indices must be integers, not str" et je n'ai pas compris comment faire pourl'éviter !
def yaml_load_all(iStream,iCodeFilter=None):
for ayamldoc in yaml.load_all(iStream):
lfsWrapper = LFSWrapper(iCodeFilter)
lfsDetails = ayamldoc['LFSDetails'] #line 20
if lfsDetails is not None:
ayamldoc['LFSDetails'] = yaml.load(lfsDetails)
lfsWrapper.loadDict(ayamldoc)
if lfsWrapper.isValid():
yield lfsWrapper
Je pense que je suis entrain de rater un aspect fondamental concerant la structure des données et la facon dont yaml.load_all fonctionne!
J'esperais avoir un peu d'aide ici! Auriez-vous des idées?
Merci de votre aide!!