Gjest Slettet+19873487 Skrevet 23. juni 2006 Del Skrevet 23. juni 2006 (endret) Hei Jeg har fått et problem som jeg ikke vet hvordan jeg skal løse. Håper noen her kan hjelpe meg med den. Jeg har en tekst-fil som det står en del informasjon i. Jeg ville hatt denne informasjonen inn i en database i MS Access. Det skal nevnes at jeg ikke har drevet noe med MS Access eller databaser før, men de som vil ha informasjonen skal ha det i MS Access. Jeg har fått i oppgave å løse problemet, men ettersom jeg ikke har brukt MS Access før, så skulle jeg trengt litt hjelp. Her er litt opplysninger: Tekst-filen har ca 250 000 linjer. Den er bygd opp med en header helt først, så kommer det 144 tall, så er det en ny header. (Om man kan kalle det for det.) Den ser omtrent sånn ut: HIE(JAN) V2.0 NOV06 60 .00N 95 .00E 5.00 12 12 (dette er linje 1) -89 (kaller disse tallene for HIE) -98 -12 23 44 76 ...mange HIE... HIE(JAN) V2.0 NOV06 60 .00N 94 .00E 5.00 12 12 (dette er linje 146) ... mange HIE... HIE(JAN) V2.0 NOV06 60 .00N 43 .00E 5.00 12 12 (dette er linje 1) osv. Jeg vil altså ha et eller annet som tar tegn 22-23 i headeren og skriver det til et felt som heter Latitude og tegn 31-32 til et felt som heter Longitude. Jeg vil også ha alle de andre tallene til å bli skrevet til et tredje felt. Hvis man deler opp headeren: HIE(JAN) = hvilken måned, i dette tilfellet januar V2.0 = ikke av interesse NOV06 = ikke av interesse 72 .00N = Latitude, .00 betyr antall minutter i "cellen" 44 .00E = Longitude, .00 betyr antall minutter i "cellen" 5.00 = Angir at det er 5 og 5 minutter. Så Latitude vil bli 72 .05, 72 .10 osv. 12 = At det er 12 5-minuttere per latitude 12 = At det er 12 5-minuttere per lonitude En celle består da altså av 144 mindre ruter. 12x12 = 144 Håper det kunne gjøre det litt klarere. Målet er da å få en tabell som viser ID (autonummer) | Latitude | Longitude | HIE 0 72.00 44.00 -89 1 72.00 44.05 -98 .. 12 72.05 45.00 12 ... 24 72.10 45.00 18 ... 144 72.55 45.55 20 På forhånd takk for alle svar, håper det er noen der ute som kan hjelpe til. Enten ved en guide til hvordan jeg løser det, et lite program i c/c++/java eller en makro som sorterer det ut i en ny tekst-fil som kan brukes til importering til MS Access. Bare spør om du trenger mer informasjon (kan hende jeg ikke svarer i helgen) Ben Endret 26. juni 2006 av Slettet+19873487 Lenke til kommentar
Gjest Slettet+19873487 Skrevet 26. juni 2006 Del Skrevet 26. juni 2006 (endret) Jeg har klart å komme frem til en løsning på problemet nå. Et lite program i C gjorde susen. En liten oversikt over hva som programmet gjør: - Åpner filen - En While som kjører så lenge den ikke er i slutten av filen. - Leser headeren og gjør om det den leser til long ints. Skjult tekst: (Marker innholdet i feltet for å se teksten): Headeren: HIE(JAN) V2.0 NOV06 60 .00N 95 .00E 5.00 12 12 /* i while */ latD = strtol(&buffer[20], next, 10); latM = strtol(&buffer[23], next, 10); ... - Kjører en for-løkke i en annen for-løkke for å lese og skrive ut tallene i en kommaseparert fil. - Stenger filen Videre importerte jeg den kommaseparerte filen til MS Access i en ny tabell og problemet var løst. Endret 26. juni 2006 av Slettet+19873487 Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå