Ян использует программу для создания файла CSV. Затем этот файл можно открыть в Excel для дальнейшего анализа. Когда Ян дважды щелкает CSV-файл в Windows, запускается Excel, а затем загружается файл. Проблема в том, что файл при открытии не анализируется Excel. Вместо того, чтобы значения, разделенные запятыми, находились в разных столбцах, каждая запись отображается в одном столбце.

Причина такого поведения, вероятно, довольно проста и связана с форматом, в котором данные хранятся в файле CSV программой, отличной от Excel. Чтобы понять это, важно понять, как Excel открывает файлы CSV.

Когда вы открываете CSV-файл в Excel (двойным щелчком в Windows или с помощью команды «Файл | Открыть в Excel»), программа обрабатывает любые запятые в файле как разделители. Это имеет смысл; в конце концов, файл должен содержать значения, разделенные запятыми (CSV). Вы не можете отменить эту автоматическую фильтрацию при открытии файла.

Итак, как Excel обрабатывает входящие данные? Задумайтесь на мгновение, содержит ли CSV-файл следующие четыре записи:

a,b,c,d,e "a,b,c,d",e a,"b,c",d,e "a,b,c,d,e"

Что касается Excel, первая запись имеет пять полей, разделенных запятыми. Во второй записи всего два поля: «a, b, c, d»

и «е.» Включение кавычек вокруг «a, b, c, d» заставляет Excel рассматривать строку как дискретную единицу. Другими словами, Excel игнорирует любые запятые, которые могут стоять между кавычками.

Учитывая эффект, который имеют кавычки, вы, вероятно, сможете понять, как Excel интерпретирует третью и четвертую записи. В этом случае третья запись имеет только четыре поля, а четвертая запись интерпретируется как имеющая только одно поле.

При чем здесь CSV-файл, который загружается неправильно? Вполне возможно, что программа, создающая файл CSV, помещает пару кавычек вокруг каждой записи. Это приведет к тому, что все в записи будет обрабатываться Excel как одно поле, а это значит, что при загрузке файла CSV оно окажется в одном столбце.

Есть несколько способов проверить это. Первый — просто открыть файл CSV с помощью Блокнота и просмотреть каждую запись. (Щелкните правой кнопкой мыши файл CSV в Windows, выберите «Открыть с помощью | Выбрать программу», затем выберите «Блокнот».)

Другой способ — переименовать файл CSV так, чтобы его расширение было не .csv, а .txt. Когда вы решите открыть этот файл в Excel, запустится мастер импорта текста. Выберите «С разделителями», нажмите «Далее», после чего вы увидите, какие разделители выбраны. Обратите внимание на квалификатор текста; если вы его измените, вы сразу увидите в нижней части диалогового окна, как Excel интерпретирует записи файла.

Если вы обнаружите, что вокруг каждой записи в CSV-файле есть лишние кавычки, вы можете сделать три вещи. Первый — изменить программу, создающую файл CSV, так, чтобы она не добавляла лишних кавычек — тогда вы сможете без проблем импортировать. Второй — продолжить и загрузить файл CSV в Excel, чтобы каждая запись находилась в столбце A. Обратите внимание, что кавычки в окружении исчезли, они были удалены в процессе импорта. Это означает, что теперь вы можете использовать мастер Text to Columns для разделения данных в столбце A на отдельные столбцы.

Наконец, третье, что вы можете сделать, — это создать макрос, который откроет файл CSV и проанализирует его за вас. Это особенно полезно, если вы со временем будете открывать множество файлов CSV, которые имеют точно такой же формат. Ваш макрос может быть сколь угодно сложным, даже с форматированием столбцов и обработкой данных по мере их импорта. Способы создания подобных макросов можно найти в других выпусках ExcelTips.

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (3002) относится к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и более поздних версий) здесь:

link: / excelribbon-CSV_File_Opens_with_Data_in_a_Single_Column [CSV-файл открывается с данными в одном столбце].