2010-12-14 8 views
17

Mam pliku csv z zawartością:Bypass excel csv wzoru konwersji na polach zaczynając + lub -

"x","y","-z" 

Kiedy zaimportować go uzyskać:

alt text

Jak mogę ominąć ta konwersja?

Aktualizacja

Jeśli spróbujesz:

"x","y",="-z,a" 

słowo "a" nie jest importowany.

Jeśli umieścisz przestrzeni z przodu:

"x","y",=" -z" 

lub

"x","y"," -z" 

będzie działać dobrze

+0

Najlepsza odpowiedź to: MikeD – Chris

Odpowiedz

8

Twój problem jest t Jeśli użyjesz rozszerzenia CSV, zmuszasz Excela do interpretowania pliku przy użyciu bardzo surowych konwencji CSV, a to często jest sprzeczne z tym, co próbujesz zrobić, chyba że plik CSV został pierwotnie stworzony przez Excel. Najłatwiejszą i najbardziej niezawodną metodą importowania tego pliku CSV jest zmiana jego nazwy na plik TXT, a następnie użycie funkcji importowania w programie Excel do wymuszenia kolumn w dokładnie taki sposób, jaki chcesz.

+1

Dlatego jest to zadanie ręczne i niemożliwe jest automatyczne importowanie tych plików csv? –

+0

Wcale nie, każdy język skryptowy, z którego korzystasz, ma na pewno sposób na manipulowanie systemem plików. Twoje pytanie nie zostało oznaczone żadnym językiem programowania, więc założyłem, że robisz to ręcznie. Jeśli używasz VBA w programie Excel, istnieje łatwe polecenie ('FileCopy srcFile, srcFile &" .txt "'), które utworzy tymczasową kopię pliku z nowym rozszerzeniem. Po jego otwarciu możesz się go pozbyć za pomocą 'Kill srcFile &" .txt "' – Alain

11

Prefiks wartości z równymi oznaki

="x",="y",="-z" 
+0

Czy istnieje sposób na importowanie go jako tekstu bez umieszczania znaku "" "na wierzchu? –

+0

Bez użycia formatu innego niż CSV, nie wierzę w to. W zależności od tekstu w każdej kolumnie pliku CSV program Excel będzie działać inaczej. Wydaje się, że jeśli podasz znak (np. X), będzie on wyświetlany jako znak, jednak jeśli poprzedzisz znak operatorem matematycznym (np. -), Excel próbuje odwołać się do komórki jako liczby z podanym oznaczeniem (w tym sprawa z). – Seidr

+0

Co ciekawe, jeśli masz "x", "y", = "- z, a", to ", a" nie jest nawet importowane! –

6

Próbowałem Twojego pierwszego przykładu w programie Excel 2003 i mogłem odtworzyć twoje #NAME eror.

Moim rozwiązaniem było otwarcie pliku tekstowego i określenie trzeciej kolumny jako "Tekst" w kreatorze importu (strona trzecia) - wraz z wyborem właściwego ogranicznika i kwalifikatora tekstu (druga strona).

Brak zmian w pliku tekstowym.

+1

Znacznie lepsza odpowiedź niż jakikolwiek z powyższych – Chris

2

Istnieje kompletna różnica w korzystaniu z programu Excel> Import i dwukrotnego kliknięcia pliku .CSV. Używane są różne parsery.

Na podstawie powyższych komentarzy doszedłem do wniosku, że poprzedzające znak przed znakiem "+" lub "-" działa dla dwukrotnego kliknięcia pliku .CSV. Tak więc mój plik zawiera teraz np.

" +14";" -Foo" 
0

wolałbym, aby rozwiązać taki problem bezpośrednio podczas konwersji, poprzez nadanie odpowiedniego formatu kolumny, przykład: użyj Text Format dla kolumny, które powinny zawierać znak pracy:

Text format on the column

Sprawdź ten szczegół post: http://ask.osify.com/qa/854

0

Znajdź i zastąp każde wystąpienie + z ' +

Jeden cytat i przestrzeń na początku powinniśmy zrezygnować z jakiejkolwiek +, - lub =.

Powiązane problemy