Läsa ett "PIC S9(n)" fält med Struct i Python.
Postat: 10 april 2014, 13:58:32
Har problem att läsa fält från en datafil som är skriven från Cobol
med PIC fält i stil med:
Data ser ut så här (för samma del definitionen ovan gäller för):
D.v.s att t.ex "000002D" eller "000012{" motsvarar fältet PABEANT i definitionen
och de ska ha det numeriska värderna 24 resp 120.
"String" i funktioner Struct ger så klart en sträng som "000012{", men det fungerar inte.
Jag har testad några olika numeriska datatyper som "SBInt16" och "SBIint32", men de förväntar
sig sannolikt packade binära fält, inte "singed character numeric" som detta är.
Så, någon har läst data i Python skrivet från Cobol som har någon idé?
med PIC fält i stil med:
Kod: Markera allt
...
05 PATYP PIC 9.
05 PABEANT PIC S9(7).
05 PALEVDAT PIC 9(5).
05 PATRIGGANT PIC S9(4).
05 PASTATUS PIC X.
...
Kod: Markera allt
...2000002D13222000{I...
...2000001F13222000{I...
...1000012{13232000{I...
...1000006{13232000{I...
...1000003{13232000{I...
...1000003{13232000{I...
...1000001{13232000{I...
...1000006{13232000{I...
och de ska ha det numeriska värderna 24 resp 120.
"String" i funktioner Struct ger så klart en sträng som "000012{", men det fungerar inte.
Jag har testad några olika numeriska datatyper som "SBInt16" och "SBIint32", men de förväntar
sig sannolikt packade binära fält, inte "singed character numeric" som detta är.
Så, någon har läst data i Python skrivet från Cobol som har någon idé?