Pytanie:
Kodowanie eksportu Excel CSV
StasM
2011-06-09 13:15:01 UTC
view on stackexchange narkive permalink

Zgodnie z moimi testami program Excel na Macu, gdy zostanie poproszony o zapisanie danych w pliku CSV, używa kodowania MacRoman. Moje pytania to:

  1. Czy to się zawsze zdarza, czy jest jakieś ustawienie, które to kontroluje?
  2. Jeśli istnieje ustawienie, czy istnieje sposób na zapisanie go jako UTF-8? Jeśli nie, czy istnieje sposób na wyeksportowanie pliku Excel ze znakami spoza MacRoman, zachowując te znaki?
Sześć odpowiedzi:
Bart Vandendriessche
2011-11-17 15:23:53 UTC
view on stackexchange narkive permalink

Najłatwiej było po prostu pozwolić excelowi na eksport do csv na jego własny głupi sposób, a następnie otworzyć terminal i wykonać następujące czynności:

  iconv -t UTF8 -f MACROMAN < file.csv > file-utf8.csv  
tak, to jest opcja, ale niestety w kontaktach z użytkownikami końcowymi niewygodne jest powiedzenie im otwarcia terminala i użycia iconv przed zaimportowaniem plików Excela ...
@StasM W porządku. Poszukałem trochę wokół siebie, ale niestety nie wydaje się, aby był możliwy eksport Excela jako UTF-8, a potem po prostu wybrałem najłatwiejsze rozwiązanie dla mnie osobiście. Jeśli pracujesz z użytkownikami końcowymi, może to nie być najlepsze rozwiązanie.
ghoppe
2011-06-10 03:42:04 UTC
view on stackexchange narkive permalink

Udało mi się znaleźć post na blogu, który przedstawia rozwiązanie podobnego problemu w języku Applescript. Dostosowałem to do Twoich potrzeb. Zauważ, że nie wykonałem żadnego właściwego cytowania wartości komórek ani niczego takiego, będzie to wymagało pewnych poprawek, aby było bardziej niezawodne. Nie jest to również najszybsze rozwiązanie w moich minimalnych testach… ale to początek.

Kluczem jest napisz X do openFile jako «class utf8»

  powiedz aplikacji "Microsoft Excel" aktywuj set outFile na (ścieżka aktywnego skoroszytu) ustaw fileName na (nazwa aktywnego skoroszytu) ustaw outFile na (outFile & ":" & fileName & ".csv") ustaw openFile na otwarcie w celu uzyskania dostępu file outFile z uprawnieniami do zapisu ustaw eof openFile na 0 ustaw lastCol na liczbę kolumn używanego zakresu aktywnego zestawu arkuszy lastRow na liczbę wierszy używanego zakresu aktywnego arkusza powtórz z r od 1 do lastRow ustaw rowStr na (wartość komórki r kolumna 1 aktywnego arkusza) powtórz za pomocą c od 2 do lastCol ustaw cellVal na (wartość komórki r w kolumnie c aktywnego arkusza) ustaw rowStr na rowStr & "," & cellVal end repeat write rowStr & return to openFile as «class utf8 »Koniec powtórz zamknij a ccess openFile end tell  
dunos
2011-06-10 01:17:35 UTC
view on stackexchange narkive permalink

Po przeprowadzeniu wielu badań na ten temat myślę, że mogę spokojnie powiedzieć, że nie możesz zmienić kodowania eksportu. Jednak to, co możesz zrobić, to dodać krok do procedury eksportu, w którym po zapisaniu pliku csv na dysku możesz go otworzyć w edytorze tekstu (użyłem Cody, ale zrobi to sporo innych) i użyć tego, aby następnie zapisać go za pomocą inne kodowanie.

andilabs
2013-11-28 12:14:10 UTC
view on stackexchange narkive permalink

Dlaczego po prostu nie otworzyć utworzonego pliku w TextEdit, a następnie użyć cmd + shift + S, aby zapisać duplikat, a następnie wybrać z listy rozwijanej UTF-8?

enter image description here

Dużą zaletą jest to, że nie musisz znać jawnie kodowania utworzonego przez Excel, jak w metodzie zaproponowanej przez Barta. Dla mojego języka (polsih) nie był to Macroman, ale pewna jego odmiana.

To właśnie uratowało życie użytkownikowi niebędącemu maniakiem, który powinien pozostać anonimowy.Bardzo skuteczny dzięki automatycznemu wykrywaniu kodowania danych wejściowych wykonywanej przez TextEdit.
Lars
2012-03-15 21:42:23 UTC
view on stackexchange narkive permalink

Po prostu użyj edytora, takiego jak „Editra” - otwórz plik csv - zmień kodowanie, np. do UTF-8, klikając typ kodowania na pasku stanu w oknie edytora - Zapisz plik ponownie (teraz jest to UTF-8) - Gotowe: o)

Witam i zapraszam do Ask Different! Dziękuję za wysłanie odpowiedzi. Czy mógłbyś dodać link do wspomnianego oprogramowania? Dzięki!
user50949
2013-06-10 20:23:06 UTC
view on stackexchange narkive permalink

Użyj Open Office, aby zapisać plik csv. Tam możesz wybrać kodowanie.



To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 3.0, w ramach której jest rozpowszechniana.
Loading...