Vairāk

Skripts, lai aizpildītu Arcgis ciparu lauku, pamatojoties uz virknes lauka saturu?


Man ir lauks atribūtu tabulā, kurā ir tādas izteiksmes kā "6S2Olch1E", "10S1B", "9B3S2Olch" un tā tālāk. Man ir jāizveido ciparu fails, kurā ir apdzīvoti tikai skaitļi, kas saistīti ar burtu S no šīm pieredzēm (t.i., 6, ja izteiksme ir "6S2Olch1E" vai 10, ja tā ir "10S1B"). Vai ir kāds veids, kā to izdarīt, izmantojot skriptu lauka kalkulatorā? Es neesmu programmētājs.


Atsevišķs kods

def f (s): idx = s.upper (). indekss ('S') s = s [: idx] i pretējā virzienā (diapazons (len (s))): ja s [i] .isalpha () : s = s [i + 1:] pārtraukums, ja s.isdigit (): return int (s) cits: return 0

Testēšana

drukāt f ("S2Olch1E") # 0 drukāt f ("6S2Olch1E") # 6 drukāt f ("5B66S2Olch1E") # 66 drukāt f ("54F5456B666S2Olch1E") # 666

Savā izteiksmē (lauka kalkulators) vienkārši izmantojiet:

f (! fieldName!)


Skatīties video: Pramonės skaitmeninimas LT - Aurelija Babiliūtė (Oktobris 2021).