Czy istnieje jakiś oficjalny sposób, aby plik sformatowany w formacie CSV zezwalał na komentarze, albo w osobnym wierszu, albo na końcu wiersza?
Próbowałem sprawdzić wikipedię na ten temat, a także RFC 4180, ale oba nie wspominają niczego, co prowadzi mnie do przekonania, że nie jest to część formatu pliku, więc mam pecha i powinienem użyć osobnego pliku ReadMe.txt, aby wyjaśnić plik.
Wreszcie, wiem, że dodawanie własnych komentarzy jest dla mnie łatwe, ale miałem nadzieję, że coś takiego jak Excel może po prostu zaimportować go bez potrzeby dostosowywania procesu importowania przez konsumenta.
Więc myśli?
csv
comments
standards
file-format
Pure.Krome
źródło
źródło
Odpowiedzi:
„Standard” CSV (taki jak jest) nie określa, jak należy traktować komentarze, nie, to od aplikacji zależy ustanowienie konwencji i trzymanie się jej.
źródło
W danych inżynierskich często widać
#
symbol w pierwszej kolumnie używany do sygnalizowania komentarza.Korzystam z biblioteki parsowania CSV ostermiller do odczytu i przetwarzania takich plików. Ta biblioteka pozwala ustawić znak komentarza. Po operacji parsowania otrzymujesz tablicę zawierającą tylko rzeczywiste dane, bez komentarzy.
źródło
Nie, CSV nie określa żadnego sposobu oznaczania komentarzy - będą one ładowane przez programy takie jak Excel jako dodatkowe komórki zawierające tekst.
Najbliższym, którym możesz zarządzać (przy CSV importowanym do określonej aplikacji, takiej jak Excel), jest zdefiniowanie specjalnego sposobu oznaczania komentarzy, które Excel będzie ignorował. W programie Excel można „ukryć” komentarz (w ograniczonym stopniu), osadzając go w formule. Na przykład spróbuj zaimportować następujący plik csv do programu Excel:
Nadal kończy się komórka w arkuszu kalkulacyjnym, która wyświetla liczbę 0, ale komentarz jest ukryty.
Alternatywnie możesz ukryć tekst, po prostu wypełniając go spacjami, aby nie był wyświetlany w widocznej części komórki:
Pamiętaj, że musisz podążać za tekstem komentarza przecinkiem, aby program Excel wypełnił następną komórkę, a tym samym ukrył dowolną część tekstu, która nie mieści się w komórce.
Paskudne włamania, które będą działać tylko z programem Excel, ale mogą wystarczyć, aby po zaimportowaniu wyglądać nieco ładniej.
źródło
Myślę, że najlepszym sposobem dodawania komentarzy do pliku CSV byłoby dodanie pola „Komentarze” lub zapisanie bezpośrednio w danych.
Większość aplikacji parsujących CSV, z których korzystałem, implementuje zarówno mapowanie pól, jak i wybieranie rekordów. Aby więc skomentować właściwości pola, dodaj rekord tylko dla opisów pól. Aby skomentować rekord, dodaj pole na jego końcu (cóż, wszystkie rekordy, naprawdę) tylko dla komentarzy.
To jedyne dwa powody, dla których mogę komentować plik CSV. Ale jedynym problemem, jaki mogę przewidzieć, byłyby programy, które w ogóle nie przyjmują pliku, jeśli jakikolwiek pojedynczy rekord nie spełnia niektórych reguł sprawdzania poprawności. W takim przypadku wystąpiłby problem z zapisaniem rekordu opisu pola typu ciąg dla dowolnych pól numerycznych.
Nie jestem jednak ekspertem, więc śmiało mogę wskazać błędy w mojej teorii.
źródło
Plik oddzielony przecinkami jest tak naprawdę plikiem tekstowym, w którym linie składają się z wartości oddzielonych przecinkami.
Nie ma standardu, który określa zawartość pliku CSV, więc nie ma zdefiniowanego sposobu oznaczania komentarza. Zależy to od programu, który będzie importował plik CSV.
Oczywiście jest to zwykle Excel. Powinieneś zadać sobie pytanie, jak Excel definiuje komentarz? Innymi słowy, co sprawi, że Excel zignoruje linię (lub jej część) w pliku CSV? Nie jestem świadomy niczego, co by to zrobiło.
źródło
There is no standard which defines the contents of a CSV file
Fałszywe.Podczas analizowania pliku za pomocą polecenia FOR w pliku wsadowym działa średnik (;)
WYNIK:
źródło
Jeśli potrzebujesz czegoś takiego:
Twój plik CSV może zawierać następujące wiersze:
Zwróć szczególną uwagę na „cytaty” w pierwszym wierszu.
Konwertując tekst na kolumny za pomocą kreatora Excel, pamiętaj o zaznaczeniu opcji „Traktuj kolejne separatory jako jeden”, ustawiając użycie „cudzysłowów” jako separatora.
W ten sposób program Excel podzieli tekst przecinkami, zachowując wiersz „komentarz” jako wartość jednej kolumny (i usunie cudzysłowy).
źródło