Dlaczego Excel usuwa zera wiodące podczas wyświetlania danych CSV?

8

Mam plik tekstowy CSV o następującej treści:

"Col1","Col2"
"01",A
"2",B
"10", C

Kiedy otwieram go za pomocą Excela, wyświetla się tak, jak pokazano tutaj:

Zauważ, że Cell A2 próbuje wyświetlić „01” jako liczbę bez początkowego „0”.

Gdy formatuję wiersze od 2 do 4 jako „Tekst”, zmienia to wyświetlacz na

... ale wciąż wiodące „0” zniknęło.

Czy istnieje sposób, aby otworzyć plik CSV w programie Excel i móc zobaczyć wszystkie wiodące zera w pliku, odwracając jakąś opcję? Nie chcę ponownie wpisywać '01 w każdej komórce, która powinna mieć zero wiodące. Ponadto użycie wiodącego apostrofu wymaga zapisania zmian w formacie XLS, gdy pożądany jest CSV. Moim celem jest po prostu użycie programu Excel do wyświetlenia rzeczywistej zawartości pliku jako tekstu, bez potrzeby próbowania przez program Excel żadnych korzyści formatowania.

Chad
źródło
Jedyny sposób, w jaki to wymyśliłem, jest żmudny, ale wydaje się działać. Skopiuj i wklej do nowego arkusza. Ustaw cały wklejony obszar na format „tekstowy”, a następnie usuń go i wklej ponownie. Bob jest twoją ciocią.
3
(Dla naszych użytkowników spoza Wielkiej Brytanii „Twoja ciocia Boba” to idiom, który luźno tłumaczy się na „i wszyscy jesteście gotowi”).
iglvzx
Robert nie był moją ciotką. :-) Myślałem, że odniosłem sukces, robiąc to wcześniej, ale to nie zadziałało. Spróbuj. To, co myliło mnie, to dlaczego formowanie komórki jako tekstu nie powoduje, że wartość „02” jest usuwana z początkowym 0 w lewo wyrównanym.
Chad
1
jeśli csv jest tylko dla Excela, możesz użyć jawnych liczb jako tekstu - np. jeśli piszesz '01 w programie Excel wyświetli się 01 bez pojedynczego cytatu ..
Aprillion

Odpowiedzi:

6

Po otwarciu pliku CSV dostępna będzie opcja określenia separatora i typu danych dla każdej kolumny. Kreator importu tekstu ma 3 kroki. Zwróć uwagę, że moje zrzuty ekranu pochodzą z programu Excel 2010, ale to działa dokładnie w ten sam sposób w programie Excel 2003.

Krok 1: wybierz rozdzielone (zamiast stałej szerokości)

Krok 2: wybierz przecinek jako separator

Krok 3: wybierz każdą kolumnę i zmień format danych na „tekst”. (Zobaczysz tekst Tekst wyświetlany nad każdą kolumną, tak jak na poniższym zrzucie ekranu).

enter image description here

Początkowe zera nie będą już usuwane:

enter image description here

AKTUALIZACJA : Jeśli nie chcesz przechodzić przez proces, aby Excel współpracował, możesz użyć CSVEd , edytor zaprojektowany specjalnie do edycji rozdzielanych plików tekstowych. Może również działać dobry edytor tekstu, taki jak Notepad ++, ale nie będzie można zobaczyć danych ułożonych w kolumnach.

Jon Crowell
źródło
1
Mój problem polegał na tym, że mój plik miał rozszerzenie CSV, a okno dialogowe Import nigdy nie pojawia się. kiedy zmieniłem nazwę pliku na rozszerzenie tekstu, byłem cały ustawiony i wiedziałem, gdzie iść. ty.
Chad
Oto komplikacja: po zaimportowaniu, jak opisujesz, chcę mieć możliwość modyfikacji pliku i zapisania go z powrotem jako CSV. Przedstawia mi zawiłe, brzydkie okno dialogowe (na przykład microsoft-design tworzy niestandardowe okno dialogowe, zamiast używać funkcji Windows MessageBox!). Wybieram opcję „zachowania tego samego formatu”. Gdy to zrobię, domyślnie jest to format oddzielony tabulatorami. Aby upewnić się, że plik txt jest zapisany z separatorem przecinka, musisz zmienić rozszerzenie nazwy pliku z powrotem na „csv”. Czy to brzydkie co? Po 10 wersjach programu Excel mamy to?
Chad
Cześć Velika, zobacz aktualizację na dole mojej odpowiedzi. Być może lepiej nie używać programu Excel.
Jon Crowell
Tak, szukałem już edytora CSV. Widziałem CSVEd. Moje pierwsze wrażenie jest takie, że wygląda to na mylący interfejs ametuerish. Myślę, że „Tabular Text Editor” wygląda lepiej. Dzięki za pomoc.
Chad
10

Właśnie wpadłem na ten problem. Jeśli kontrolujesz tworzenie pliku CSV, możesz sprawić, aby dane wyglądały następująco:

"Col1","Col2"
="01",A
="2",B
="10", C

Po otwarciu jako Excel zachowa 01.

ckincincy
źródło
1

sformatuj kolumnę, aby wyświetlała, jak chcesz (np. 00 dla 2 cyfr)
Ma to tę zaletę, że zostanie zapisane z tymi cyframi (ale będziesz musiał zmienić formatowanie za każdym razem, gdy edytujesz CSV)

SeanC
źródło
0

Najpierw skopiuj wszystkie dane / kolumny i wiersze z rzeczywistego arkusza programu Excel do innego arkusza programu Excel, aby był bezpieczny, aby mieć rzeczywiste dane do porównania. Kroki,

  1. Skopiuj wszystkie wartości w kolumnie i wklej je do notatnika.
  2. Teraz zmień typ kolumny na tekst w arkuszu Excela (spowoduje to przycięcie poprzedzających / końcowych Zero), nie martw się o to.
  3. Przejdź do Notatnika i skopiuj wszystkie wartości, które właśnie wkleiłeś.
  4. Przejdź do arkusza programu Excel i wklej wartości w tej samej kolumnie.

Jeśli masz więcej niż jedną kolumnę z 0 wartościami, powtórz to samo.

Szczęśliwe dni.

Waqi
źródło