Hieroglife în Excelență Cum se fixează. Ce se întâmplă dacă fișierul de export CSV nu arată caractere rusești? Modificați codificarea în Excel

Cu nevoia de a schimba codarea textului, utilizatorii care lucrează browsere, editori de text și procesoare sunt adesea întâlnite. Cu toate acestea, atunci când lucrați în tabelul Excel procesor, poate apărea o astfel de nevoie, deoarece acest program procesează nu numai numerele, ci și textul. Să ne dăm seama cum să modificăm codificarea în Excelență.

Lecţie: Codificarea în Microsoft Word


Text care codifică - acest set de expresii electronice digitale care sunt convertite la cele înțelese cu caracterele utilizatorului. Există multe tipuri de codificare, fiecare dintre acestea având propriile reguli și limbă. Abilitatea programului de a recunoaște o limbă specifică și de ao traduce la cei care pot fi ușor de înțeles pentru o persoană obișnuită (litere, numere, alte caractere) determină dacă aplicația va fi capabilă să funcționeze cu un text specific sau nu. Printre codificările de text populare ar trebui alocate după cum urmează:

  • Windows-1251;
  • KOI-8;
  • ASCII;
  • ANSI;
  • UKS-2;
  • UTF-8 (Unicode).

Ultimul nume este cel mai frecvent dintre codificările din lume, deoarece este considerat un fel de standard universal.

Cel mai adesea, programul în sine recunoaște codificarea și trece automat la acesta, dar, în unele cazuri, utilizatorul trebuie să specifice aspectul său. Numai atunci poate funcționa corect cu simboluri codificate.

Cel mai mare număr de probleme cu decodificarea codificării din programul Excel apare atunci când încercați să deschideți fișiere CSV sau la export fișiere txt.. Adesea, în loc de litere obișnuite Când deschideți aceste fișiere prin Excel, putem observa simboluri incomprehensibile, așa-numita "krakozhebra". În aceste cazuri, utilizatorul trebuie să facă anumite manipulări pentru ca programul să înceapă corect datele de afișare. Există mai multe modalități de a rezolva această problemă.

Metoda 1: Schimbați codarea utilizând Notepad ++

Din păcate, un instrument cu drepturi depline care vă va permite să modificați rapid codarea în orice tip de texte din Excel. Prin urmare, este necesar să se utilizeze soluții multiple în acest scop sau să recurgă la ajutor. aplicații terțe părți. Una dintre modalitățile cele mai fiabile este utilizarea editorului de text Notepad ++.


Cu toate că aceasta metoda Pe baza utilizării software-ului terță parte, este una dintre cele mai simple opțiuni pentru recodificarea conținutului fișierelor pentru Excel.

Metoda 2: Aplicarea expertului de text

În plus, puteți face conversia și puteți utiliza instrumentele de program încorporate, și anume vrăjitorii de text. Destul de ciudat acest instrument mai complicate decât aplicarea programul terțdescrise în metoda anterioară.

Metoda 3: Salvarea unui fișier într-o codificare specifică

Există, de asemenea, o situație inversă atunci când fișierul nu trebuie deschis cu afișarea corectă a datelor și salvarea codării instalate. În Excel, puteți efectua această sarcină.


Documentul va fi salvat pe un hard disk sau pe suport detașabil în codarea pe care ați identificat-o. Dar trebuie să considerați că acum documentele stocate în Excel vor fi salvate în această codificare. Pentru ao schimba, trebuie să ieși din nou. "Parametrii documentului web" și modificați setările.

Există o altă modalitate de a modifica setările de codare ale textului salvat.

CSV este un standard de facto pentru comunicarea dintre sistemele heterogene, pentru transmiterea și prelucrarea datelor volumetrice cu o structură "tabără". În multe limbi de programare scripted, există instrumente încorporate și instrumente de generare, este bine înțeleasă ca programatori și utilizatori obișnuiți, iar problemele cu datele în sine sunt bine descoperite în ea, așa cum spun ei, ochiul.

Istoria acestui format are cel puțin 30 de ani. Dar chiar și acum, în epoca ajutorului XML, CSV este încă folosit pentru a încărca și a descărca cantități mari de date. Și, în ciuda faptului că formatul în sine este destul de bine descris în RFC, fiecare înțelege-o în felul său.

În acest articol, voi încerca să rezumăm cunoștințele existente despre acest format, să indice erorile tipice, precum și ilustrează problemele descrise pe exemplul curbei de import de import și export în Microsoft Office. 2007. De asemenea, voi arăta cum să ocoli aceste probleme (inclusiv transformarea automată a tipurilor Excel în data și numărul) la deschidere. CSV.

Începeți cu faptul că formatul CSV este numit de fapt trei formate de text diferite care diferă simboluri: de fapt CSV în sine (valori separate prin virgulă - valori împărțite prin virgule), TSV (valori separate de fila - valori separate prin file) și SCSV (Valori separate de semicolon - valori separate de un punct și virgulă). În viață, toate cele trei pot fi numite un CSV, simbolul separatorului în cel mai bun caz este selectat atunci când exportați sau importați și mai des este "cusută" în interiorul codului. Acest lucru creează o mulțime de probleme în încercarea de a da seama.

Ca o ilustrare, am fi o sarcină trivială: import în Microsoft Outlook. Datele din tabelul din Microsoft Excel..

Microsoft Excel are instrumente de export la CSV, iar în Microsoft Outlook - importuri adecvate. Ce ar putea fi mai ușor - a făcut un fișier, "ploaie" program poștal Și este cazul făcut? Indiferent cât de.

Creați un semn de testare în Excel:

... și să încercăm să o exportăm în trei formate de text:

Ce concluzie facem de la aceasta? .. faptul că Microsoft apeluri "CSV (virgulă virgulă)" este de fapt un format cu un separator de virgulă. Formatul Microsoft este strict Windows-1251. Prin urmare, dacă aveți caractere Unicode în Excel, acestea vor apărea la ieșirea CSV la marcajele de întrebare. De asemenea, că traducerile corzilor sunt întotdeauna o pereche de simboluri, faptul că Microsoft devine stupid în citate unde vede un punct de virgulă. De asemenea, dacă nu aveți deloc caractere Unicode, puteți salva fișierul. De asemenea, acest Unicode este susținut numai de UTF-16, și nu UTF-8, care ar fi puternic logic.

Acum, să vedem cum arată Outlook. Să încercăm să importăm aceste fișiere din acesta prin specificarea acelorași surse de date. Outlook 2007: Fișier -\u003e Import și export ... -\u003e Import dintr-un alt program sau fișier. Apoi, selectați formatul de date: "Valorile împărțite prin virgule (Windows)" și "Valori separate prin fila (Windows)".

Două produse Microsoft nu se înțeleg reciproc, nu au ocazia să treacă fisier text Date structurate. Pentru ca totul să lucreze, este necesară programatorul "Dansuri cu un tamburină".

Ne amintim că Microsoft Excel poate lucra cu fișiere text, date de import de la CSV, dar în versiunea 2007 o face foarte ciudată. De exemplu, dacă deschideți pur și simplu fișierul prin meniuri, acesta se va deschide fără nicio recunoaștere a formatelor, pur și simplu ca fișier text, plasat complet în prima coloană. Dacă faceți un dublu clic pe CSV, Excel primește o altă comandă și importă CSV așa cum ar trebui, fără a pune întrebări suplimentare. A treia opțiune - introducerea unui fișier în foaia curentă. În această interfață, puteți personaliza divizoarele, urmăriți imediat ce sa întâmplat. Dar un lucru este: funcționează prost. De exemplu, Excel nu înțelege transferurile cotate ale liniilor din interiorul câmpurilor.

Mai mult, aceeași funcție de conservare în CSV, cauzată prin interfață și prin macro, funcționează în moduri diferite. Opțiunea cu macro nu se uită deloc la setările regionale.

CSV Standard ca atare, din păcate, nu, dar, între timp, există așa-numitele. Notificare. Acest RFC 4180 2005, în care totul este descris destul de inteligent. Pentru absența a ceva mai mult, să adere la cel puțin RFC. Dar pentru compatibilitatea cu Excel, este necesar să se țină seama de socialitatea sa.

  • Între rânduri - transferul șirului CRL [în opinia mea, nu merita limitarea a doi octeți, adică. Cum ar fi CRL (0 × 0D, 0 × 0a) și cr 0 × 0d]
  • divizoare - virgule, la sfârșitul liniei nu ar trebui să fie o virgulă,
  • În ultimul rând, CRLF nu este obligat,
  • prima linie poate fi un șir de antet (nu este marcat în același timp)
  • spațiile care înconjoară separatorul de virgulă sunt ignorate.
  • dacă valoarea conține CLF, CR, LF (simboluri de șir), cotația dublă sau virgulă (separator de câmp), atunci este necesară încheierea valorii în citate. În caz contrar, este permisă.
  • acestea. Traduceri admise de linii în interiorul câmpului. Dar astfel de valori ale câmpurilor trebuie să fie configurate,
  • dacă există citate duble în interiorul părții cotate, utilizează citate specifice de citate în CSV - duplicarea lor.

Aici, în notația ABNF Descrierea formatului:

FILE \u003d RECORD * (Record CRFL) Header \u003d Nume * (Nume de virgulă) Record \u003d câmp * (câmp de virgulă) Nume \u003d câmp Câmp \u003d (scăpat / non-escaped) Escaped \u003d Dquote * (TextData / Comma / CR / LF / 2DQUOTE ) DQUTED NO-Escaped \u003d * TextData virgula \u003d% x2c dquot \u003d% x22 LF \u003d% x0a Crf \u003d CR LF TextData \u003d% x20-21 /% x23-2b /% X2D-7E

De asemenea, la punerea în aplicare a formatului, trebuie amintit că, deoarece nu există indicii la numărul și tipul de coloane, deoarece nu există nicio cerință de a plasa titlul, aici există convenții pe care trebuie să nu uitați:

  • o valoare a șirului de la numere care nu sunt închise în citate poate fi percepută de program ca numerică, motiv pentru care informațiile pot fi pierdute, de exemplu, zerourile de frunte,
  • numărul de valori din fiecare rând poate fi diferit și trebuie să fie corect tratat această situație. În unele situații, trebuie să avertizați utilizatorul, în altele - creați coloane suplimentare și completați-le valorile goale. Puteți decide că numărul de coloane este stabilit de titlu și le puteți adăuga dinamic, ca importuri CSV,
  • Citate rapide prin "slash" nu conform standardului, nu o faceți.
  • Deoarece nu există câmpuri de câmpuri, nu există cerințe pentru ei. Distribuitoarele întregii părți și părți fracționate din diferite țări sunt diferite, ceea ce duce la faptul că același CSV, asignat de aplicație, este "înțeles" într-un singur exil, în cealaltă. Deoarece Microsoft Office se concentrează pe regional setări Windows.Și poate fi ceva. În Rusia, se indică faptul că separatorul este virgulă
  • Dacă CSV nu este deschis prin meniul "Date", dar direct, atunci Excel nu specifică nicio întrebare și face cum pare corect. De exemplu, un câmp cu o valoare de 1,24 el înțelege valoarea implicită ca "24 ianuarie"
  • Excel ucide zerourile și declanșează tipurile chiar și atunci când valoarea este indicată în citate. Nu o faceți, este o greșeală. Dar, pentru a ocoli această problemă de Excel, puteți face un mic "hack" - valoarea pentru a începe de la semnul "Egal semn", după care este posibil să puneți ghilimele ce trebuie transmis fără a schimba formatul.
  • Excel are un specialist "egal", care în CSV este considerat ca un identificator de formula. Aceasta este, dacă se va întâlni în CSV \u003d 2 + 3, acesta va fi difuzat două și trei și rezultatul va fi scris în celulă. Potrivit standardului, el nu ar trebui să facă acest lucru.

Exemplu de CSV valid, care poate fi utilizat pentru teste:

Numele, numele, adresa, orașul / personalul, indexul, doar o linie de Ivanov, Ivan, Lenina 20, Moscova, 08075, "1/3" Tyler, John, 110 Terasa, PA, 20121, "1.24" "Petrov" Kul "", Petya, 120 Hambaling Sf., NJ, 08075, "1.24" Smirnov, Vasya, "7452 Street" "Aproape de pătrat" \u200b\u200b"Road", York, 91234, "3-01", Misha, Leningrad, 00123, "03-01" "John" "cap negru" ", Claude", Rock, ", Miami Beach, 00111," 0000 "Sergey,

Exact aceleași SCSV:

Nume de familie; Nume; Abordare; Oraș / personal; index; doar un rând de Ivanov; Ivan; Lenin 20; Moscova; 08075; "1/3" Tyler; Terasa lui John; 110; PA; 20121; "1.24" Petrov "" Kul ""; Petya; 120 Hambaling St.; NJ; 08075; "1.24" Smirnov, Vasya; "7452 stradă" "lângă pătrat" \u200b\u200b"Road"; York; 91234; "3-01"; Misha ;; Leningrad; 00123; "03-01" "John" "cap negru" ", claude"; rock; "; Miami Beach; 00111; "0000" Serghei;

Primul fișier care este separat de virgulă realist, fiind salvat de V.CSV, Excel nu este perceput deloc.

Cel de-al doilea dosar care, conform logicii SCSV, este perceput și iese aici:

Errors de import Excel-I:

  1. Au existat lacune în jurul dividerilor
  2. Ultima coloană nu a recunoscut într-adevăr, în ciuda faptului că datele din citate. Excepția este un șir cu "Petrov" - 1.24 a fost recunoscut corect acolo.
  3. În domeniu, indicele Excel "a coborât" zeroul de frunte.
  4. În câmpul drept al ultimei linii, lacunele înainte de citate au încetat să indice un specialist

Dacă utilizați funcția de import (date -\u003e din fișier) și apelați la importarea tuturor câmpurilor cu text, acesta va fi următoarea imagine:

Odată cu vizionarea tipurilor lucrate, dar acum transferurile în mod normal ale rândurilor nu sunt procesate și problema rămâne cu zerouri, citate și spații inutile. Da, iar utilizatorii care se deschid CSV sunt extrem de incomod.

Există un mod eficient cum să facem Excel nu dați tipuri atunci când nu avem nevoie. Dar va fi CSV "special pentru Excel". Acest lucru se face prin plasarea semnului "\u003d" în fața citatelor de pretutindeni, unde problema cu tipurile poate potențial. În același timp, eliminăm lacunele suplimentare.

Nume de familie; nume; adresa; oraș / stat; indice; doar o linie de Ivanov; Ivan; Lenin 20; Moscova; \u003d "08075"; \u003d "1/3" Tyler; Terasa lui Ioan; PA; \u003d "20121"; \u003d "1.24" "Petrov" "Kul" "; Petru; 120 Hambaling ST.; NJ; \u003d" 08075 "; \u003d" 1.24 "Smirnov; Vasya;" 7452 strada " "Aproape de pătrat" \u200b\u200b"Road", York, \u003d "91234"; \u003d "3-01"; Misha; Leningrad; \u003d "00123"; \u003d "03-01" "John" "cap negru" "; Claude" ; Rock; "" Miami Beach; \u003d "00111"; \u003d "0000" Serghei ;;

Și asta se întâmplă dacă deschidem acest fișier în Excel:

Rezumat.

Pentru a genera un astfel de CSV, care ar putea fi utilizat, utilizatorul trebuie să poată efectua următoarele setări înainte de export:

  1. alegeți codificarea. De regulă, este important pentru UTF-8, UTF-16, Windows-1251, KOI8-R. Cel mai adesea, nu există alte opțiuni. Unul dintre ele ar trebui să meargă în mod implicit. În cazul în care datele conțin caractere care nu au analogi în codificarea țintă, trebuie să avertizați utilizatorul că datele vor fi rupte;
  2. selectați separatorul între câmpuri. Opțiuni - Tabulare, virgulă, punct cu virgulă. Implicit - un punct cu o virgulă. Nu uitați că, dacă separatorul este introdus în text, va fi foarte dificil să introduceți fila, este, de asemenea, un simbol neînvins;
  3. selectați separatorul între rânduri (CrLF 0 × 0D 0 × 0A sau CR 0 × 0D);
  4. selectați separatorul integrator și fracționat pentru datele numerice (punct sau virgulă).
  5. alegeți dacă doriți să afișați un șir de antet;
  6. alegeți cum să efectuați specialsimetre Klotting (în special rândurile și traducerile citatelor). În principiu, vă puteți retrage din standard și le-ați citat ca \\ n și \\ ", dar în acest caz, nu uitați să vă invitați să vă invitați \\ n, dacă se întâlnesc și nu uitați să faceți acest lucru cu o opțiune la exportul de importuri. Dar compatibilitatea va merge la pădure, deoarece orice design de parser standard RFC ... "ABC \\", contorizați pentru o eroare;
  7. foarte ideal - puneți o bifă "pentru Excel" și luați în considerare aceste non-standardități care au făcut Microsoft. De exemplu, înlocuiți valorile câmpurilor numerice, "similare cu data", pe design \u003d "<значение поля>«.
  8. decideți dacă să părăsiți "coada" de la separatoarele goaledacă se formează. De exemplu, de la 20 de câmpuri numai primul conține date, iar restul sunt goale. Ca rezultat, în linie puteți posta după primele 19 separatoare, fie să nu instalați. Pentru cantități mari de date, acesta poate salva milisecunde procesarea și reduce dimensiunea fișierului.

Pentru a construi un importator CSV bun și convenabil, trebuie să vă amintiți următoarele:

  1. analiza fișierelor ar trebui făcută prin lexemii în conformitate cu gramatica de mai sus sau utilizați biblioteci gata dovedite (Excel funcționează altfel, deoarece problema este importată);
  2. furnizați utilizatorului posibilitatea de a alege codificarea (Top 4 suficient);
  3. furnizați utilizatorului posibilitatea de a alege separatorul între câmpuri (virgulă, tabulare, punct cu o virgulă);
  4. furnizați utilizatorului posibilitatea de a alege un separator între rânduriDar, în afară de variantele CR și CRL, ar trebui să fie furnizate CR sau CRL. Acest lucru se datorează faptului că, de exemplu, excelează la exportul unui tabel cu traduceri de șiruri în interiorul celulelor exportă aceste rânduri de rânduri ca CR, iar rândurile rămase acționează CERF. În acest caz, atunci când importați fișierul, acesta este încă, CR acolo sau CRF;
  5. furnizați utilizatorului posibilitatea de a alege un separator între întregi și părți fracționate (virgulă sau punct);
  6. decideți cu metoda de analiză - Mai întâi citim totul în memorie, apoi procesând sau procesând un șir pentru un șir. În primul caz, este posibil să aveți nevoie de mai multă memorie, în cel de-al doilea caz, eroarea din mijloc va provoca numai importuri parțiale, ceea ce poate provoca probleme. Preferând prima opțiune.

RAUF ALIYEV,
Director tehnic adjunct Mail.ru Group

CSV. (Valori separate prin virgulă) este un format comun pentru stocarea datelor tabulare (numerice și text) ca text simplu. Acest format de fișiere este popular și viața datorată faptului că un număr mare de programe și aplicații înțeleg CSV, cel puțin ca o alternativă tipul fisierului Pentru import / export. Mai mult, formatul CSV permite utilizatorului să se uite în fișier și să găsească imediat o problemă cu datele, dacă există, modificați separatorul CSV, regulile de citare și așa mai departe. Acest lucru este posibil deoarece CSV este un text simplu, și nici măcar un utilizator foarte experimentat, ci va putea să-l înțeleagă cu ușurință fără o pregătire specială.

În acest articol vom fi învățați rapid și metode eficiente Exportați datele din Excel în CSV și aflați cum să convertiți fisier Excel În CSV, păstrând fără distorsiuni a tuturor simbolurilor speciale și străine. Tehnicile descrise în articol de lucru în toate versiunile din Excel 2013, 2010 și 2007.

Cum de a converti fișierul Excel la CSV

Dacă doriți să exportați fișierul Excel în orice altă aplicație, de exemplu, în carte de adrese Outlook sau Baza de date accesați datele, Pre-convertiți Excel în fișierul CSV și apoi importați fișierul. .csv. La o altă aplicație. Mai jos este dată. ghid pas cu pasCum să exportați cartea de lucru Excel în format CSV utilizând instrumentul Excel - " Salvează ca».

Cometariu: Toate formatele menționate mai sus, salvează doar o foaie activă Excel.


Export de la Excel în CSV cu codificare UTF-8 sau UTF-16

Dacă o foaie Excel conține orice simboluri speciale sau străine (Tilde, accentuare și similar) sau hieroglife, transformarea foii Excel în metoda CSV descrisă mai sus nu va funcționa.

Faptul este că echipa Salvează ca > CSV. (Salvare ca\u003e CSV) va denatura toate caracterele, cu excepția ASCII (codul standard american pentru schimbul de informații). Și dacă există citate asociate sau o linie lungă pe foaia Excel (transferate în Excel, de exemplu, de la cuvânt de document. La copierea / introducerea textului) - astfel de simboluri vor fi, de asemenea, spontane.

  • UTF-8. - Aceasta este o codificare mai compactă care utilizează pentru fiecare caracter de la 1 la 4 octeți. Cel mai adesea se recomandă utilizarea acestui format atunci când caracterele ASCII sunt dominate în fișier, deoarece Cele mai multe dintre aceste caractere necesită 1 octet de memorie. Un alt avantaj este că codificarea fișierului UTF-8 care conține numai caractere ASCII, nu va diferi de același fișier ASCII.
  • UTF-16. Utilizează de la 2 la 4 octeți pentru a stoca fiecare simbol. Rețineți că, în toate cazurile, fișierul UTF-16 necesită mai mult spațiu în memorie decât fișierul UTF-8. De exemplu, caracterele japoneze ocupă de la 3 la 4 octeți în UTF-8 și de la 2 la 4 octeți în UTF-16. Astfel, este logic să folosiți UTF-16 dacă datele conțin caractere asiatice, inclusiv japonezi, chinezi și coreeni. Un dezavantaj semnificativ al acestei codificări este că nu este complet compatibil cu fișierele ASCII și necesare programe speciale Pentru a afișa astfel de fișiere. Amintiți-vă acest lucru dacă intenționați să importați fișierele rezultate din Excel în altă parte.

Cum de a converti fișierul Excel la CSV UTF-8

Să presupunem că avem o frunză excelentă cu simboluri străine, în exemplul nostru este numele japonez.

Pentru a exporta această listă Excel la fișierul CSV, menținând toate caracterele, vom face următoarele:


Cometariu: Nu toate editorii simpli de text suportă pe deplin caracterele Unicode, astfel încât unele dintre ele pot fi afișate ca dreptunghiuri. În majoritatea cazurilor, nu va afecta fișierul final și pur și simplu puteți să nu acordați atenție acestui lucru sau să alegeți un editor mai avansat, de exemplu, Notepad ++.

  1. Deoarece în fișierul nostru unicode text, fila este utilizată ca separatoare și dorim să o convertim în CSV (separatoare de virgulă), atunci este necesar să înlocuiți simbolurile tabelor pentru virgulă.

Cometariu: Dacă nu există nici o nevoie strictă de a obține un fișier cu delimitatoare - virgule și aveți nevoie de orice fișier CSV pe care Excel îl poate înțelege, atunci acest pas poate fi omis, deoarece Microsoft Excel excelent înțelege fișierele cu un separator.

Cometariu: Dacă fișierul dvs. este destinat utilizării în afara Format Excel și UTF-8 este o cerință obligatorie, nu faceți modificări pe foaie și nu o salvați din nou pentru Excel, deoarece poate duce la probleme cu codificarea citirii. Dacă o parte din datele nu sunt afișate în Excel, deschideți același fișier în Notepad și efectuați corecții la date. Nu uitați să salvați din nou fișierul în format UTF-8.

Cum de a converti fișierul Excel la CSV UTF-16

Exportul în fișierul CSV UTF-16 este mult mai rapid și mai ușor decât în \u200b\u200bUTF-8. Faptul este că Excel utilizează automat formatul UTF-16 la salvarea unui fișier ca Text Unicode (Text Unicode).

Pentru a face acest lucru, salvați fișierul utilizând instrumentul Salvează ca (Salvați ca) în Excel și apoi în Windows Explorer modificați extensia fișierului creat la .csv.. Gata!

Dacă aveți nevoie de un fișier CSV cu un punct și virgulă și un punct și virgulă ca separator, înlocuiți toate urechile pe virgule sau punct și virgulă, respectiv în Notepad sau în oricare alta editor de text La alegerea dvs. (mai devreme în acest articol instrucțiuni detaliate, cum sa terminat).

Alte modalități de a converti fișierele Excel în CSV

Metodele de mai sus pentru exportul de date din Excel în CSV (UTF-8 și UTF-16) sunt universale, adică. Potrivit pentru a lucra cu orice caractere speciale și în orice versiune de Excel din 2003 până în 2013.

Există multe alte modalități de a converti datele din format Excel la CSV. Spre deosebire de deciziile de mai sus, aceste metode nu vor duce la un fișier CLEAN UTF-8 (acest lucru nu se referă, care poate exporta fișiere Excel în mai multe opțiuni de codare UTF). Dar, în majoritatea cazurilor, fișierul rezultat va conține setul corect de caractere, care poate fi apoi convertiți fără durere în format UTF-8 utilizând orice editor de text.

Transformăm fișierul Excel în CSV utilizând mese Google

După cum sa dovedit, este posibil să convertiți pur și simplu fișierul Excel la CSV utilizând mese Google. Cu condiția ca unitatea Google să fie deja instalată pe computer, să efectuați următoarele 5 pași simpli:

Bacsis: Dacă fișierul Excel este relativ mic, atunci pentru a economisi timp, puteți transfera date pe Tabelul Google utilizând Copy / Insert.


În cele din urmă, deschideți fișierul CSV creat în orice editor de text pentru a vă asigura că toate caracterele sunt salvate corect. Din păcate, fișierele CSV create în acest mod nu sunt întotdeauna afișate corespunzător în Excel.

Salvați fișierul.xlsx ca .xls și apoi convertiți în fișierul CSV

Această metodă nu necesită comentarii suplimentare, deoarece totul este clar din nume.

Am găsit această decizie cu privire la unul dintre forumurile dedicate Excel, nu-mi mai amintesc exact ce anume. Sincer, nu am folosit niciodată această metodă, dar, potrivit comentariilor multor utilizatori, altele simboluri speciale sunt pierdute dacă salvați direct de la .xlsx. în .csv.Dar rămâne, dacă mai întâi .xlsx. Salvează ca .xls.și apoi cum .csv., ca noi .

Într-un fel sau altul, încercați această metodă de a crea fișiere CSV din Excel și, dacă se dovedește, va fi o economie bună.

Salvați fișierul Excel ca CSV utilizând OpenOffice

OpenOffice este un pachet de aplicații deschise. cod sursaAceasta include o cerere de lucru cu tabele, care se confruntă perfect cu sarcina de a exporta date din format Excel în CSV. De fapt, această aplicație oferă acces la un număr mai mare de parametri la conversia tabelelor în fișierele CSV (codare, divizoare și așa mai departe) decât Folile Excel și Google combinate.

Doar deschideți fișierul Excel în OpenOffice Calc, faceți clic pe Fişier > Salvează ca (Fișier\u003e Salvare ca) și selectați tipul de fișier Text CSV. (Text CSV).

Pe următoarea sesiune Se propune selectarea valorilor parametrilor Codificarea (Seturi de caractere) și Separator de teren (Delimitator de câmp). Desigur, dacă vrem să creăm un fișier CSV UTF-8 cu virgule ca separatoare, atunci alegeți UTF-8. Și introduceți virgul (,) în câmpurile corespunzătoare. Parametru Separator de text (Delimitatorul de text) sunt de obicei lăsate neschimbate - citate ("). Apoi faceți clic pe O.K.

În același mod pentru o conversie rapidă și fără durere de la Excel în CSV, puteți utiliza o altă aplicație - LibreOffice. Sunt de acord, ar fi frumos dacă Microsoft Excel a oferit posibilitatea de a personaliza parametrii atunci când creați fișiere CSV.

În acest articol, mi-am spus metodele de conversie a fișierelor Excel în CSV. Dacă sunteți familiar mai mult metode eficiente Exporturile din Excel în CSV, spuneți-ne despre aceasta în comentarii. Vă mulțumim pentru atenție!

CSV ( Valorile separate prin virgulă - valorile separate prin virgule) sunt format textconcepute pentru a reprezenta date tabulare. De exemplu, este folosit pentru a exporta date dacă volumele lor sunt suficient de mari. Cu toate acestea, problema apare adesea: fișierul CSV creat poate să nu arate simbolurile alfabetului rus sau să le denatureze. Cu toate acestea, această problemă este ușor rezolvată.

Esența problemei este după cum urmează. Dacă versiunea Excel în care funcționează utilizatorul nu este engleza, se poate aștepta la o altă codificare a fișierelor CSV create pentru a exporta datele. Și anume: codificarea limbii la care aparține versiunea Excel. În același timp, acele simboluri care nu sunt incluse în setul standard ASCII pot fi distorsionate.

Problema este rezolvată de următorul mod simplu:

1. Rulați Excel.
2. Deschideți pagina "Date → din text" (în Excel localizat, elementele de meniu pot fi numite altfel).
3. Deschideți fișierul CSV și în fereastra Expertului Text, instalați separatorul și codificarea necesară (utilizați "UTF-8").

Instrucțiuni pentru rezolvarea aceleiași probleme pentru limba rusă Excel 2007

1. Creați un nou document (carte) în Excel

2. În meniul "Date / Ieșire", selectați Importând "din text". În fereastra de selectare a fișierelor, selectați fișierul CSV. Excel va lansa automat maestrul de text (import).

3. În setarea "Formatul fișierului", selectați "Unicode (UTF-8)":

5. Apoi faceți clic pe Finalizare. Pentru alegerea corectă Problemele de codare cu afișarea adecvată a caracterelor chirilice nu ar trebui să fie.

Și ceva important și necesar ...

Site-ul nostru a fost util pentru dvs.?

Am un fișier Excel care are unele caractere spaniole (tilde etc.) ceea ce trebuie să convertesc la fișierul CSV pentru a fi utilizat ca fișier de import. Cu toate acestea, când salvez atât CSV, distorsionează personajele spaniole "speciale" care nu sunt personaje ASCII. Se pare că apare și cu citatele stângi și drepte și cu linii lungi, care par să vină de la utilizatorul sursă care creează un fișier Excel în Mac.

deoarece CSV este doar un fișier text, sunt sigur că poate procesa codificarea UTF8, așa că presupun că aceasta este o restricție Excel, dar caut o modalitate de a obține de la Excel în CSV și de a salva alte caractere decât ASCII.

30 răspunsuri

Notă: Aveți grijă cu datele confidențiale din Google Foile.

după salvarea în CSV sub Excel în linie de comanda A pune:

Iconv -f cp1250 -t utf-8 cod-encoded-cp1250.csv\u003e fișier-codificat-utf8.csv

(Nu uitați să înlocuiți CP1250 cu codarea dvs.).

funcționează rapid și minunat pentru fișiere mari., cum ar fi baza de date a codurilor de poștă electronică care nu poate fi importate la Googledocs (limita 400.000 de celule).

susține miercuri ferestre, Salvați și lucrați cu fișierul, ca de obicei, în Excel, dar apoi deschideți fișierul Excel salvat în Gnumeric Gnumeric (gratuit). Salvați tabelul gnumeric Gnome ca CSV, care - pentru mine în orice caz, îl salvează ca UTF-8 CSV.

o modalitate simplă de a face acest lucru este: Descărcați Open Office (), Descărcați foaia de calcul și deschideți fișierul Excel (.xls or.xlsx). Apoi, salvați-l doar ca fișier CSV text și fereastra se deschide pentru a salva formatul curent sau pentru a salva ca. Format ODF. Selectați "Salvați formatul curent" și într-o fereastră nouă, selectați opțiunea care funcționează mai bine pentru dvs., în conformitate cu limba pe care este scris fișierul dvs. Pentru spaniolă, selectați Europa de Vest (Windows-1252 / Winlatin 1) și fișierul funcționează numai bine. Dacă alegeți Unicode (UTF-8), acesta nu va funcționa cu caractere spaniole.

De asemenea, am intrat în aceeași problemă, dar pentru aceasta există o soluție simplă.

  1. deschideți fișierul xlsx în Excel 2016 sau mai mare.
  2. În "Salvați ca" selectați această opțiune: "(CSV UTF-8 (cu separatoare de virgule) *. CSV)"

Funcționează perfect, iar fișierul CSV este creat, care poate fi importat în orice software.. Am importat acest fișier CSV în baza mea de date SQLite și funcționează bine cu toate caracterele Unicode.

Am scris un mic script Python, care poate exporta foi în UTF-8.

trebuie doar să furnizați un fișier Excel ca primul parametru și apoi foile pe care doriți să le exportați. Dacă foile nu sunt furnizate, scriptul exportă toate foile prezente în fișierul Excel.

#! Excel_file, Use_ITERATORS \u003d TRUE, Data_Only \u003d True) All_Worksheets \u003d WorkBook.Get_sheet_names () pentru Worksheet_Name în All_Worksheets: Foi .append (fofelt_name) Foi de returnare Def CSV_FROM_EXCEL (Excel_file, Foi): Registrul de lucru \u003d Load_WorkBook (Excel_file, Use_iteratoare \u003d Adevărat, Data_Only \u003d Adevărat) pentru foaia de lucru Your_csv_file \u003d Deschidere ("Alăturați-vă ()," WB ") WR \u003d CSV.WRITER (dvs._csv_file, citate \u003d csv.quote_all) pentru rând în foaie de lucru.iter_rows (): Lerg \u003d pentru celulă în rând: Lerge. Adăugați (celulă. Valoare) wr.writerow (lrow) imprimare ("... făcut") your_csv_file.close () dacă nu 2<= len(sys.argv) <= 3: print("Call with " + sys.argv + " ") sys.exit (1) altcineva: foi \u003d dacă len (sys.argv) \u003d\u003d 3: foi \u003d lista (sys.argv.split (", ")) altcineva: foi \u003d get_all_sheets (sys.argv) afirmat ( Foi! \u003d Nici unul și len (foi)\u003e 0) csv_from_excel (sys.argv, foi)