Mam wiele plików .csv. Niektóre z nich są rozdzielane przecinkami, niektóre są rozdzielane tabulatorami (być może należy je nazwać .tsv ...)
csv
Przedłużenie pobiera związany z Excel, gdy jest zainstalowany program Excel. Jeśli jednak otworzę jeden z tych plików za pomocą programu Excel, wszystko zostanie zrzucone do tej samej kolumny, a przecinek nie będzie interpretowany jako separator.
Mogę zamiast Plik -> Importuj ..., wybrać plik i wybrać dokładny sposób interpretacji zawartości (ograniczniki, typy danych itp.) Ale przez większość czasu chcę po prostu patrzeć na plik przez wyraźne widok tabeli. Nie chcę przetwarzać go w programie Excel.
Czy istnieje sposób, aby Excel automatycznie interpretował separator i wyświetlał plik CSV jako prawidłową tabelę, gdy tylko zostanie otwarta? Potrzebuję tego, aby móc używać programu Excel jako szybkiej przeglądarki takich plików.
Podejrzewam, że musi być jakiś sposób, inaczej Excel nie skojarzyłby się z plikami CSV.
źródło
Odpowiedzi:
Podczas otwierania plików CSV program Excel użyje systemowego ustawienia regionalnego zwanego w
List separator
celu określenia domyślnego ogranicznika, którego należy użyć.W systemie Windows możesz zmienić to
List separator
ustawienie wRegional and Language Options
sposób określony w witrynie pomocy technicznej pakietu Office :Uwaga : działa to tylko wtedy, gdy symbol dziesiętny nie jest również oznaczony przecinkiem (zgodnie z cytowaniem z Wikipedii powyżej). Jeśli tak, program Excel nie użyje przecinka jako separatora listy, nawet jeśli zostanie wybrany. W wielu regionach poza Stanami Zjednoczonymi przecinek jest domyślnym symbolem dziesiętnym.
W systemie Mac OS X to ustawienie wydaje się być wywnioskowane z ustawienia separatora dziesiętnego (w panelu Język i region w Preferencjach systemowych przejdź do Zaawansowane ). Jeśli separatorem dziesiętnym jest punkt, wówczas domyślnym separatorem CSV będzie przecinek, ale jeśli separatorem dziesiętnym jest przecinek, wówczas domyślnym separatorem CSV będzie średnik.
Jak sam powiedziałeś w komentarzu, użytkownicy komputerów Mac mogą alternatywnie szybko przejrzeć te pliki CSV. Jest to wtyczka do Quick Look o nazwie quicklook-csv, która obsługuje wykrywanie separatora.
źródło
Jeśli nie chcesz modyfikować formatu pliku i kierujesz się wyłącznie na program Excel, możesz skorzystać z następującej sztuczki programu Excel, aby Ci pomóc.
Dodaj nowy wiersz u góry pliku z tekstem
"sep=,"
(łącznie z cudzysłowami), aby program Excel otworzył plik z „,” jako separatorem listy.Bardzo łatwo jest uniknąć zmiany ustawień regionalnych systemu Windows i uzyskać spójny wynik. Ale jest to specyficzne dla programu Excel.
źródło
Nie potrzebujesz cudzysłowów
sep=,
- dopóki będzie to pierwsza linia pliku, będzie działać, przynajmniej w programie Excel 2016.Odkryłem, że jeśli plik jest rozdzielany tabulatorami,
sep=\t
działa dobrze, z cudzysłowami i bez nich.źródło
Zaakceptowana odpowiedź jest poprawna, ale jestem osobą wizualną. Oto każdy krok w formacie zrzutu ekranu, jak to zrobić w systemie Windows 10.
źródło
List separator
zostaną zignorowane, jeśli użyje się tego samego symboluDecimal symbol
. Często znajdziesz go,
jako symbol dziesiętny, więc pamiętaj, aby zmienić go na coś innego (np..
) Podczas ustawianiaList separator
na,
.Jeśli separator w ustawieniach regionalnych nie jest przecinkiem, ale średnikiem (separatorem holenderskim), zmień nazwę pliku CSV na plik TXT. Kliknij plik TXT prawym przyciskiem myszy, wybierz „Otwórz za pomocą” i wybierz „Excel”. W programie Excel wybierz pierwszą kolumnę, wybierz dane na wstążce i rozdziel tekst na kolumny.
LUB
Zainstaluj LibreOffice i otwórz plik CSV za pomocą LibreOffice Calc.
źródło
Miałem
.csv
plik z separatorem;
i ustawieniami regionalnymi ustawionymi na Separator list;
. Jednak program Excel nadal nie analizował kolumn.Okazało się, że jest to problem z kodowaniem. Pliki zostały wyeksportowane z SQL Server Management Studio 2005 i zostały zakodowane
UCS-2 LE BOM
. Za pomocą Notepad ++ przełączyłem kodowanieUTF-8
i wszystko zaczęło działać.źródło
Sprawdź plik CSV w prostym edytorze, takim jak Notatnik, aby sprawdzić, czy jest on prawidłowo sformatowany.
Dodałem tę odpowiedź po rozwiązaniu głupiego błędu, w którym pliki CSV utworzone za pomocą VB nie były otwierane z osobnymi kolumnami w programie Excel. Odkryłem, że sposób, w jaki napisałem linie, owinął każdy wiersz cudzysłowem. Excel ukrył cudzysłowy i pokazał cały wiersz w kolumnie A, sprawiając, że wyglądał, jakby ignorował moje separatory przecinków.
źródło
najlepszym sposobem będzie zapisanie go w pliku tekstowym z rozszerzeniem csv
źródło
W przypadku języka holenderskiego miałem problem polegający na tym, że program Excel 2008 w systemie Windows 7 nie był zgodny z RFC4180:
Plik oddzielony przecinkami poprawnie zawierał pola z przecinkiem (holenderski separator dziesiętny) ujęte w podwójne cudzysłowy. W języku niderlandzkim separatorem dziesiętnym jest separator
,
listy,;
więc Excel nie może odczytać pliku,
używanego dla obu (nawet po jawnej zmianie separatora listy na,
Panel sterowania).Dane wejściowe wyglądają następująco:
Rozwiązanie zostało podane przez @ user280725:
Użyj Notatnika, aby wstawić jako pierwszy wiersz:
(Oznacza to, że uwaga użytkownika @zakinster w jego rozwiązaniu nie musi już obowiązywać).
Ciekawe: jeśli plik csv nadal jest ładowany, jeśli teraz ustawisz ustawienia regionalne na angielski w USA w Panelu sterowania i zapiszesz plik, zostanie on przekonwertowany na format angielski (przecinek jako separator listy i kropka jako separator dziesiętny).
źródło