Конвертиране на CSV в Excel: решения на често срещани проблеми

  • Споделя Това
Michael Brown

CSV не се отваря правилно в Excel? В урока се разглеждат типични проблеми и се предлагат най-ефективните решения.

Форматът CSV се използва често за импортиране/експортиране на данни между различни програми за електронни таблици. Името CSV (comma separated values) предполага използването на запетая за разделяне на полетата с данни. Но това е на теория. На практика много от така наречените CSV файлове разделят данните, като използват други символи, например точка и запетая или табулация. Някои реализации затварят полетата с данни в единични или двойни кавички, докатоДруги изискват знак за ред на байтовете (BOM) на Unicode, например UTF-8, за правилно тълкуване на Unicode. Липсата на стандарт поражда различни проблеми при преобразуването на CSV в Excel.

    CSV файлът се отваря в една колона в Excel

    Симптоми При отваряне на csv файл в Excel всички данни се появяват в една колона.

    Причина . За разделяне на данните в колони Excel използва разделителя на списъци, зададен във вашите регионални настройки на Windows. Това може да бъде запетая (в Северна Америка и някои други страни) или точка и запетая (в европейските страни). Когато разделителят, използван в конкретен .csv файл, се различава от разделителя по подразбиране, този файл се отваря в една колона.

    Решения . Съществуват няколко възможни решения за този случай, включително макроси VBA или глобална промяна в настройките на Windows. Ще покажем как бързо да отстраните проблема, без да променяте разделителя на списъци по подразбиране на компютъра си, така че нито едно от приложенията ви да не бъде засегнато.

    Промяна на разделителя във файла CSV

    За да може Excel да чете CSV с различен разделител, можете да определите разделителя директно в този файл. За да го направите, отворете файла с всеки текстов редактор (Notepad ще се справи добре) и добавете следния текст на първия ред. Имайте предвид, че той трябва да бъде на отделен ред преди всички други данни:

    • За разделяне със запетая: sep=,
    • Отделяне с точка и запетая: sep=;

    По същия начин можете да зададете всеки друг потребителски разделител - просто го въведете след знака за равенство.

    След като сте определили подходящ разделител, можете да отворите файла по обичайния начин - от самия Excel или от Windows Explorer.

    Определяне на разделител при импортиране на CSV файл в Excel

    Вместо да отваряте csv файл в Excel, импортирайте го с помощта на съветника за импортиране на текст (във всички версии) или Power Query (в Excel 365 - 2016).

    Съветникът за импортиране на текст ( Данни tab> От Текст ) предоставя няколко възможности за избор на разделители в стъпка 2. Обикновено бихте избрали:

    • Запетая за файлове със стойности, разделени със запетая
    • Tab за текстови файлове
    • Точка с точка и запетая за файлове със стойности, разделени с точка и запетая

    Ако не сте сигурни какъв разделител съдържат данните ви, опитайте с различни разделители и вижте кой от тях работи правилно в прегледа на данните.

    Когато създавате връзка с Power Query, можете да изберете разделителя в диалоговия прозорец Преглед:

    За подробни инструкции стъпка по стъпка вижте примерите, посочени по-горе.

    Разделяне на клетки с помощта на функцията "Текст в колони

    В случай че данните ви вече са прехвърлени в Excel, можете да ги разделите в различни колони, като използвате Текст към колони По същество тя работи като съветника за импортиране на текст: избирате разделител и Преглед на данните отразява промените в движение:

    За повече информация вижте Как да разделяме клетки в Excel.

    Как да запазите водещите нули в Excel CSV

    Симптоми. Някои стойности във вашия csv файл съдържат водещи нули. Когато файлът се отвори в Excel, водещите нули се губят.

    Причина . По подразбиране Microsoft Excel преобразува csv файловете в Обща информация формат, при който се премахват началните нули.

    Решение . Вместо да отворите, импортирайте CSV в Excel и изберете Текст формат за проблемни колони.

    Използване на съветника за импортиране на текст

    За да започнете Съветник за импортиране на текст автоматично, променете разширението на файла от .csv на .txt и след това отворете текстовия файл от Excel. Или активирайте функцията From Text (Legacy) и започнете да импортирате CSV в Excel.

    В стъпка 3 на съветника изберете колоната, съдържаща стойности с водещи нули, и променете формата ѝ на Текст . Това ще импортира стойностите като текстови низове, като се запазят всички начални нули.

    Използване на Power Query

    Ако предпочитате да импортирате csv файл в Excel, като се свържете с него, има два начина да запазите водещите нули.

    Метод 1: Импортиране на всички данни в текстов формат

    В диалоговия прозорец за предварителен преглед, под Откриване на тип данни , изберете Не откриват типове данни . Съдържанието на вашия csv файл ще бъде заредено в Excel като текст, като всички водещи нули ще бъдат запазени.

    Забележка. Този метод работи добре, ако файлът ви съдържа само текст данни. Ако има различни видове стойности, използвайте метод 2, за да определите подходящ формат за всяка колона поотделно.

    Метод 2: Задаване на формат за всяка колона

    Когато вашият csv файл съдържа различни типове данни, например текст, числа, валути, дати и времена, можете изрично да посочите кой формат трябва да се използва за всяка конкретна колона.

    1. Под визуализацията на данните щракнете върху Трансформиране на данни .
    2. В редактора на Power Query изберете колоната, в която искате да запазите предходните нули, и щракнете върху Тип данни > Текст .

  • Ако е необходимо, дефинирайте типове данни за други колони.
  • Когато приключите с редактирането, в Начало в раздела Затвори щракнете върху:
    • Затвори & Зареждане - това ще зареди резултатите в нов лист в текущата работна книга.
    • Затвори & Зареждане Към... - това ви позволява да решите къде да бъдат заредени резултатите.
  • Съвет. Тези методи могат да предотвратят и други манипулации с данните, които Excel се опитва да извърши автоматично. Например, ако импортираните данни започват с "=", Excel ще се опита да ги изчисли. Текст показвате, че стойностите са низове, а не формули.

    Как да поправите проблеми с формата на датата в CSV в Excel

    Симптоми. След конвертиране на CSV в Excel датите се форматират неправилно, дните и месеците се разменят, някои дати се променят в текст, а някои текстови стойности се форматират автоматично като дати.

    Причина . Във вашия csv файл датите са записани във формат, различен от формата на датата по подразбиране, зададен във вашата операционна система, поради което Excel не успява да интерпретира правилно датите.

    Решение . В зависимост от това с какъв точно проблем се сблъсквате, опитайте едно от следните решения.

    Дните и месеците са объркани

    Когато форматите на датите в регионалните настройки на Windows и във файла csv са различни, Excel няма как да определи това. mm/dd/yy търсените дати се съхраняват в dd/mm/yy В резултат на това единиците за ден и месец са обърнати: януари-3 става март-1 , януари-10 г. става Oct-1 и т.н. Освен това датите след януари-12 г. се преобразуват в текстови низове, тъй като не съществуват 13-ти, 14-ти и т.н. месеци.

    За да се импортират правилно датите, стартирайте съветника за импортиране на текст и изберете подходящия Дата формат в стъпка 3:

    Някои стойности се преобразуват в дати

    Microsoft Excel е проектиран така, че да улеснява въвеждането на различни видове стойности. Ето защо, ако Excel смята, че дадена стойност представлява дата, тя автоматично се форматира като дата. април23 г. много прилича на 23 април , и 11/3 прилича на 3 ноември , така че и двете стойности се преобразуват в дати.

    За да спрете Excel да променя текстови стойности в дати, използвайте вече познатия подход: конвертирайте CSV в Excel, като го импортирате. В стъпка 3 от Съветник за импортиране на текст , изберете проблемната колона и променете нейния формат на Текст .

    Датите са форматирани неправилно

    Когато един csv файл се отвори в Excel, датите обикновено се показват във формата по подразбиране. 7-май-21 или 05/07/21 , докато в Excel се появява като 5/7/2021 .

    За да покажете датите в желания формат, използвайте Форматиране на клетките функция:

    1. Изберете колоната с дати.
    2. Натиснете Ctrl + 1, за да отворите Форматиране на клетките диалогов прозорец.
    3. На Номер таб, изберете Дата под Категория .
    4. Под Тип , изберете желаното форматиране.
    5. Щракнете върху OK.

    Ако нито един от предварително зададените формати не е подходящ за вас, можете да създадете свой собствен формат, както е обяснено в Как да създадем потребителски формат на датата в Excel.

    Предотвратяване на преобразуването на числата в научна нотация в Excel

    Симптоми. След конвертиране на CSV в Excel дългите числа се форматират като научна нотация, например 1234578900 се появява като 1.23E+09.

    Причина . В Microsoft Excel числата са ограничени до 15 значещи цифри. Ако числата във вашия csv файл надхвърлят това ограничение, Excel автоматично ги преобразува в научна нотация, за да се съобрази с това ограничение. Ако числото съдържа повече от 15 значещи цифри, всички "допълнителни" цифри в края се променят в нули.

    Решение . Импортирайте дълги числа като текст или променете формата на числата директно в Excel.

    Импортиране на дълги числа като текст

    За да прехвърлите точно големи числа от CSV в Excel, стартирайте Съветник за импортиране на текст и задайте формата на целевата колона(и) на Текст .

    Това е единственото реално решение за точен внос цифрови низове без да се губят данни, т.е. без да се заменят 16-тата и следващите цифри с 0 или да се премахват водещите нули. Работи чудесно за записи като идентификатори на продукти, номера на сметки, баркодове и други подобни.

    Въпреки това, ако стойностите ви са числа, а не низове, това не е най-добрият метод, тъй като няма да можете да правите математически изчисления върху получените текстови стойности.

    Този метод ще ви помогне да предотвратите и други нежелани автоматични форматирания на данни при конвертиране на CSV файл.

    Промяна на формата на номера в Excel

    Ако данните ви вече са в Excel, можете да промените формата от Обща информация към Текст или Номер както е показано по-долу:

    Забележка: Този метод няма да възстанови изтритите предходни нули или цифри след 15-та позиция, които са били заменени с нули.

    За повече информация вижте Как се форматират клетки в Excel.

    Направете колоната по-широка

    В най-простия случай, когато едно число съдържа по-малко от 15 цифри, е достатъчно да се направи малко по-широка колона, за да се покажат числата нормално.

    За повече информация вижте Как да променяме размера и да напасваме колоните в Excel.

    Това е начинът за отстраняване на най-често срещаните проблеми, които могат да възникнат при преобразуване на CSV в Excel. Благодарим ви, че прочетохте, и се виждаме следващата седмица!

    Майкъл Браун е отдаден технологичен ентусиаст със страст към опростяване на сложни процеси с помощта на софтуерни инструменти. С повече от десетилетие опит в технологичната индустрия, той е усъвършенствал уменията си в Microsoft Excel и Outlook, както и в Google Sheets и Docs. Блогът на Майкъл е посветен на споделянето на неговите знания и опит с други, предоставяйки лесни за следване съвети и уроци за подобряване на продуктивността и ефективността. Независимо дали сте опитен професионалист или начинаещ, блогът на Michael предлага ценни прозрения и практически съвети за извличане на максимума от тези основни софтуерни инструменти.