C ++ odczytaj plik CSV

C ++ odczytaj plik CSV

CSV jest krótką formą wartości oddzielonych przecinkami, które są używane do przechowywania danych reprezentowanych w formie tabelarycznej z rozszerzeniem „.CSV ”. W tym każda wartość rozdzielona przecinkami reprezentuje pole danych lub rekord, w którym każda linia oznacza pojedynczy rekord w stosunku do obiektu. C ++ nie obsługuje wbudowanej biblioteki do odczytania plików CSV, ale możemy je odczytać, gdy czytane są inne pliki tekstowe. Pliki CSV są odczytane według linii, a każda wartość jednego rekordu jest oddzielona przecinkiem ograniczającym „”, podczas gdy każdy wiersz jest oddzielony nową linią „/n”. Pliki CSV są głównie używane do przesyłania danych z Excel do MySQL. Umożliwia firmom przesyłanie dużej ilości danych do bardziej skompresowanej bazy danych.

Składnia

Nie ma predefiniowanej składni do odczytania pliku CSV w C ++, ponieważ nie jest to polecenie ani biblioteka, jest tak proste, jak odczytanie pliku tekstowego.

Na pokazanym rysunku każdy wiersz reprezentuje zapis pracownika, w którym każda wartość oddzielona przecinkiem „” jest polem lub cechą pracownika. Nazwa pliku wyświetlona u góry figury to „pracownik.CSV ”, gdzie„ pracownik ”jest z rozszerzeniem„.CSV ”.

Przykład nr 01:

W tym przykładzie zaimplementujemy kod, w którym najpierw utworzymy nowy plik, a następnie przeczytamy ten plik. Plik będzie miał dane pracownika, w tym nazwisko pracownika, działu i wynagrodzenia pracownika. Przejdźmy teraz do naszego kodu, po uwzględnieniu naszego pliku nagłówka iostream, który służy do włączenia kompilatora wykonywania operacji wejściowych. Następnie dołącz fstream, który umożliwia nam pracę z plikami, takimi jak tworzenie modyfikowania, usuwania itp., Oraz trzecią biblioteką, którą dołączyliśmy, jest biblioteka ciągów, która umożliwia nam pracę z ciągami lub kolekcją znaków.

Przechodzimy do naszej głównej funkcji, w której utworzymy plik do przechowywania danych pracowników. Najpierw zadeklarujmy zmienną fstream „myfile”, której użyjemy do pracy z plik. W następnym kroku użyliśmy myfile.Otwórz, który służy do otwarcia istniejącego pliku lub utworzenia nowego pliku do tej instrukcji Open (). Przekażemy nazwę pliku i argumentu iOS :: OUT, który pozwala nam zapisać do pliku.

Po otwarciu pliku przekazamy wartości do wartości za pomocą zmiennej „myfile”. W tym zmienna „myfile” zostanie użyta do zapisywania podanych wartości w pliku CSV. Przekazaliśmy 3 dane dotyczące danych pracowników „John Smith”, „Rick Adson” i „Victoria William”. Wbrew temu, ich dział i pensje są również przekazywane. Po zapisaniu wszystkich wartości w pliku, pomyślnie zamkniemy plik za pomocą słowa kluczowego Close ().

#włączać
#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()

fstream myfile;
mój plik.otwarty („pracownik.csv ", ios :: out);
mój plik<<"Name"<<","<<"department"<<","<<"salary"<<"\n";
mój plik<<"Jhone smith"<<","<<"Information technology"<<","<<"$122"<<"\n";
mój plik<<"Jhone smith"<<","<<"Information technology"<<","<<"$122"<<"\n";
mój plik<<"Jhone smith"<<","<<"Information technology"<<","<<"$122"<<"\n";
mój plik.zamknąć();

Po utworzeniu pliku CSV przejdziemy teraz do naszego procesu czytania, w którym zadeklarowaliśmy dwie zmienne. Pierwszą będzie zmienna fstream, która obsługuje funkcje otwierania i odczytu pliku, a druga będzie zmienną ciągnącą, która będzie odpowiedzialna za utrzymanie wartości, która jest przeanalizowana z pliku przez zmienną „myFile2”, zmienne ciąg W tym przykładzie znajduje się „szczegóły”.

Po deklaracji zmiennej po prostu wyświetliśmy tekst do powodzenia tworzenia plików, aby sprawdzić, czy kod działa, czy nie. Teraz, używając nowej zmiennej fstream „myFile2”.CSV ”Korzystanie z otwartej instrukcji, do której przekazaliśmy nazwę pliku, którą chcemy odczytać, oraz słowo kluczowe„ iOS :: w: ”, które jest odpowiedzialne za otwarcie pliku jako tryb odczytu. Jedną rzeczą, o której należy pamiętać o metodzie odczytu, nie można użyć ani zdefiniować tej samej zmiennej fstream, ponieważ wyświetli błąd, że zmienna już istnieje.

W naszym następnym kroku zdefiniowaliśmy pętlę, która zostanie wykonana cztery razy. Rozpocznie się od indeksu zero do indeksu trzeciego, co oznacza, że ​​wszystkie cztery wiersze zostaną wydrukowane. I każda wartość zostanie oddzielona przez przecinek ogranicznika. W pętli dla For nazywamy funkcję „getline ()”, która jest wbudowaną biblioteką dostarczoną przez C ++, aby uzyskać wartości z określonego pliku lub pamięci. Do funkcji getline przekazaliśmy dwie zmienne „myFile2” i drugą zmienną „szczegóły”. Zmienna myFile2 odczytuje wartości przechowywane w pliku jeden po drugim i przekazuje je do zmiennej szczegółów. Korzystając z instrukcji „Cout”, wyświetlamy wartość przechowywaną w zmiennej „szczegóły”. Na końcu kodu wartość zerowa jest zwracana.

fstream myfile2;
Szczególne szczegóły;
Cout<<"\nCsv File created!";
Cout<<"\n\nDisplaying the content of CSV file\n\n";
myfile2.otwarty („pracownik.csv ", ios :: in);
dla (int i = 0; i<=2; i++)

getline (myFile2, detale);
Cout<
powrót 0;

Jak pokazano na fragmencie poniżej, „pracownik.plik CSV ”zawiera 4 wiersze. Pierwszy rząd to etykieta określająca pola, wyświetlając nazwę, dział i pensję pracownika. Każde pole w wierszu jest oddzielone za pomocą przecinka, w którym każdy rekord jest oddzielony za pośrednictwem komendy nowej linii „/n”.

Zrozumiemy dane wyjściowe, które uzyskaliśmy po uruchomieniu kodu odczytu. Na zrzucie ekranu poniżej zawartość pliku „pracownik.CSV ”jest wyświetlany. Wszystkie rzędy pliku są wykonywane z oddzieleniem wartości za pomocą przecinka „”, ”.

Wniosek

W tym przewodniku omówiliśmy temat odczytania pliku CSV w C++. W C ++ nie ma wbudowanej funkcjonalności do odczytu lub zapisu plików CSV, ale możemy użyć jego bibliotek getline, fstream, do wykonywania operacji zapisu lub odczytu na plikach CSV. C ++ obsługuje pracę z każdym rodzajem systemu wypełnienia, a także z plikami CSV. Jest to najlepszy sposób na odczytanie dużej ilości danych według prostego kodu, który wykonaliśmy w naszym przykładzie.