C ++ Les CSV -fil

C ++ Les CSV -fil

CSV er den korte formen for komma-separerte verdier, som brukes til å lagre data som er representert i tabellform med utvidelsen ".CSV ”. I dette representerer hver komma-separert verdi et datafelt eller en post der hver linje betegner en enkelt post mot et objekt. C ++ støtter ikke et innebygd bibliotek for å lese CSV-filer, men vi kan lese dem som andre tekstfiler blir lest. CSV -filer leses linje for linje, og hver verdi av en post skilles av avgrensningskomma "", mens hver rad skilles av den nye linjens avgrensning "/n". CSV -filer brukes stort sett til å overføre data fra Excel til MySQL. Det lar selskaper overføre et høyt volum av data til en mer komprimert database.

Syntaks

Det er ingen forhåndsdefinert syntaks for å lese en CSV -fil i C ++ fordi det ikke er en kommando eller bibliotek, den er så enkel som å lese en tekstfil.

I den viste figuren representerer hver rad posten til en ansatt der hver verdi atskilt med komma "", er et felt eller kjennetegn ved den ansatte. Filnavnet som vises øverst på figuren er “Ansatt.CSV ”, der“ ansatt ”er med utvidelsen”.CSV ”.

Eksempel # 01:

I dette eksemplet vil vi implementere en kode der vi først vil opprette en ny fil og deretter lese den filen. Filen vil ha en ansattes data inkludert navnet på den ansatte, avdelingen og lønnen til den ansatte. La oss nå flytte til koden vår, etter å ha inkludert vår overskriftsfil iostream som brukes til å gjøre det mulig for kompilatoren å utføre input-output-operasjoner. Inkluder deretter fstream som gjør at vi kan jobbe med filer, som å lage modifisering, sletting osv.

Vi beveger oss inn i hovedfunksjonen vår der vi oppretter en fil for lagring av ansattes data. La oss først erklære Fstre -variabelen “MyFile” som vi vil bruke for å jobbe med filen. I neste trinn brukte vi MyFile.Åpent som brukes til å åpne en eksisterende fil eller for å opprette en ny fil til denne Open () uttalelsen. Vi vil gi navnet på filen og iOS :: ut -argumentet som lar oss skrive inn i filen.

Etter å ha åpnet filen, vil vi gi verdiene til verdiene ved å bruke variabelen “MyFile”. I dette vil "myfile" -variabelen bli brukt til å skrive de gitte verdiene til CSV -filen. Vi har bestått 3 ansattes data som navngir “John Smith”, “Rick Adson” og “Victoria William”. Mot med det blir også avdelingen og lønnen deres vedtatt. Etter å ha skrevet alle verdiene i filen, vil vi lukke filen med hell ved å bruke nøkkelordet ().

#inkludere
#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()

fStream myfile;
myfile.Åpne ("Ansatt.csv ", ios :: out);
myfile<<"Name"<<","<<"department"<<","<<"salary"<<"\n";
myfile<<"Jhone smith"<<","<<"Information technology"<<","<<"$122"<<"\n";
myfile<<"Jhone smith"<<","<<"Information technology"<<","<<"$122"<<"\n";
myfile<<"Jhone smith"<<","<<"Information technology"<<","<<"$122"<<"\n";
myfile.Lukk();

Etter å ha opprettet CSV -filen, vil vi nå gå mot leseprosessen vår der vi har erklært to variabler. Den første vil være Fstream -variabelen som vil håndtere filåpnings- og lesefunksjonene, og den andre vil være strengvariabelen som vil være ansvarlig for å holde verdien som er analysert fra filen med variabelen “MyFile2”, strengvariablene I dette eksemplet er "detaljer".

Etter erklæringen om variabelen, viste vi ganske enkelt teksten for å lykkes med filoppretting for å sjekke om koden fungerer eller ikke. Nå, ved å bruke den nye Fstream -variabelen “MyFile2”, åpner vi filen “Ansatt.CSV ”ved hjelp av en åpen uttalelse som vi passerte filnavnet som vi vil lese og“ iOS :: i: ”nøkkelord som er ansvarlig for å åpne filen som lesemodus. Én ting å huske på for lesemetoden, kan du ikke bruke eller definere den samme fstre -variabelen fordi den vil vise en feil som variabelen allerede eksisterer.

I vårt neste trinn definert vi for loop som vil utføre fire ganger. Det starter fra indeks null til indeks tre, noe som betyr at alle fire radene blir skrevet ut. Og hver verdi vil bli atskilt med avgrensningskomma. Innenfor for-loopen kaller vi en "getline ()" -funksjon som er det innebygde biblioteket levert av C ++ for å få verdiene fra den spesifiserte filen eller minnet. Til getline -funksjonen passerte vi to variabler “MyFile2” og den andre “detaljer” -variabelen. MyFile2 -variabelen leser verdiene som er lagret i filen en etter en og overfører dem til detaljvariabelen. Ved hjelp av "cout" -uttalelsen viser vi verdien som er lagret i "detaljer" -variabelen. På slutten av koden returneres nullverdien.

fStream myfile2;
strengdetaljer;
cout<<"\nCsv File created!";
cout<<"\n\nDisplaying the content of CSV file\n\n";
myfile2.Åpne ("Ansatt.csv ", ios :: in);
for (int i = 0; i<=2; i++)

getline (myfile2, detaljer);
cout<
retur 0;

Som vist i utdraget nedenfor, "ansatte.CSV ”-filen inneholder 4 rader. Den første raden er etiketten som definerer feltene, og viser navnet, avdelingen og lønnen til den ansatte. Hvert felt i raden skilles ved hjelp av et komma der hver post er atskilt via en ny linjekommando "/n".

La oss finne ut utdataene vi fikk etter å ha kjørt lesekoden. På skjermdumpen nedenfor, innholdet i filen “Ansatt.CSV ”vises. Alle radene i filen blir utført med separasjon av verdier ved bruk av komma ",".

Konklusjon

I denne guiden har vi dekket temaet for hvordan du kan lese en CSV -fil i C++. Det er ingen innebygd funksjonalitet i C ++ for å lese eller skrive CSV-filer, men vi kan bruke getline, fstream, strengbiblioteker for å utføre skrive eller lese operasjoner på CSV-filer. C ++ støtter å jobbe med alle typer fyllingssystem så vel som CSV -filer. Det er den beste måten å lese en stor mengde data etter enkel kode som vi utførte i vårt eksempel.