W tym artykule dowiemy się, jak czytać i pisać do pliku CSV za pomocą języka programowania Go.
Golang kodowanie/CSV
Aby obsłużyć pliki CSV w programowaniu GO, użyjemy pakietu kodowania/CSV. Jest wypełniony funkcjami do czytania i pisania plików CSV. Pamiętaj, że nowa linia reprezentuje pojedynczy rekord w pliku CSV. Każda linia może mieć jeden lub więcej pól ignorowanie wszystkich znaków białej.
Aby użyć pakietu, możemy go zaimportować jako:
importować „kodowanie/CSV”Możemy teraz kontynuować i nauczyć się pracować z plikami CSV w Go.
Golang Read CSV - Linia po linii
Aby odczytać plik CSV za pomocą pakietu kodowania/CSV, używamy metody Read (). Załóżmy, że mamy plik o nazwie:
Informacje użytkownika.CSVPlik zawiera informacje o użytkownikach, jak pokazano w przykładowej migawce poniżej:
Identyfikator, nazwa pierwszej, nazwa lastName, e -mail, e -mail2, zawódRozważ następujący przykładowy kod:
Pakiet MainRozbijmy poprzedni kod, aby lepiej zrozumieć, jak to działa.
Zaczynamy od importu wymaganych pakietów: kodowanie/CSV, FMT, IO, Log i OS. Pakiet FMT pozwala nam wykonywać operacje we/wy. Pakiet dziennika służy do rejestrowania wszelkich błędów, które mogą wystąpić w programie.
Z drugiej strony metoda pakietu IO służy do określenia IO.Interfejs czytnika. Używamy błędu EOF, aby określić koniec strumienia danych.
Wreszcie mamy pakiet systemu operacyjnego. W naszym przykładzie używamy tego pakietu do odczytania pliku CSV.
W głównej funkcji zaczynamy od otwarcia pliku CSV do odczytu za pomocą systemu operacyjnego.Metoda Open (). Następnie tworzymy nowego czytnika za pomocą CSV.Metoda NewReader (). Ta metoda wymaga IO.Typ czytelnika.
Następny krok polega na użyciu pętli do odczytania każdego rekordu z pliku CSV. Następnie sprawdzamy, czy występuje jakikolwiek błąd. Jeśli wystąpił jakiś błąd, w tym EOF, przełamujemy pętlę i rejestrujemy błąd.
Ostatnim krokiem jest iterowanie każdego zapisu pliku CSV i zwrócenie wartości.
Poprzedni kod powinien zwrócić przykładowe dane wyjściowe, jak pokazano poniżej:
IDJeśli chcesz odczytać CSV jednocześnie, użyj metody Readall () zamiast Read ().
CSV z niestandardowym ogranicznikiem
Czasami możesz natknąć się na plik CSV, który nie używa przecinka jako ogranicznika. Chociaż postępowanie zgodnie z formatem pliku CSV, pliki z niestandardowymi ogranicznikami mogą stanowić wyzwanie podczas parsowania.
Możemy jednak określić przecinek i komentarz w programowaniu Go. Weź następujący przykład pliku CSV:
id; pierwsza nazwa; lastName; e -mail; e -mail2; zawódChociaż plik jest zgodny z podobnym formatem do pliku CSV, używa półkolonów jako ograniczników zamiast przecinka.
Aby przeanalizować poprzedni plik w Go, możemy uruchomić kod, jak pokazano poniżej:
Pakiet MainPoprzedni kod określa niestandardowy ogranicznik za pomocą czytnika.Przecinek.
Jeśli chcesz usunąć wiodące przestrzenie, możesz ustawić wartość:
czytelnik. Trimleadingspace = trueGolang CSV Write
Aby napisać rekord CSV do pliku, używamy funkcji zapisu. Rekord jest kawałkiem wartości ciągów, przy czym każdy ciąg reprezentuje pojedyncze pole.
Uwaga: ponieważ są one buforowane, musisz wywołać Flush, aby upewnić się, że zapisuje rekord oryginalnego pisarza.
Rozważ poniższy przykład:
Pakiet MainPoprzedni kod tworzy określone pliki CSV i dodaje rekordy do pliku.
Jeśli nie chcesz ręcznie wywołuwać spłukiwania, możesz użyć metody writeall (). Automatycznie wywołuje metodę spłukiwania.
Wniosek
W tym przewodniku eksploruje sposób pracy z plikami CSV za pomocą pakietu Go Encoding/CSV. Mamy nadzieję, że ten artykuł jest pomocny. Sprawdź inne artykuły z Linux, aby dowiedzieć się więcej wskazówek.