Содержание
- Как открыть CSV-файл в Excel
- Импорт CSV в EXCEL
- Язвы и грабли CSV и Excel: проблемы и решения
Как открыть CSV-файл в Excel
Многие сервисы, например, Яндекс Вебмастер или Google Search Console, формируют файлы для скачивания в формате CSV.
Увидеть данные можно в стандартной программе «Блокнот» или в Notepad++, но работать с ними всё же удобнее в Excel. Однако, можно столкнуться с двумя проблемами: 1) csv-файл может открываться как набор символов (кракозябрами); 2) часто данные csv-файла оформлены в виде строк, а не таблицы.
Импорт CSV в EXCEL
Чтобы увидеть данные в нормальной кодировке и в табличном виде, необходимо импортировать файл csv в Excel. Как это сделать?
1. Запускаем Excel. Вкладка «Данные», затем «Получение внешних данных» → «Из текста».
2. В диалоговом окне выбираем csv-файл с кракозябрами → Импорт.
3. В окне мастера на первом шаге устанавливаем формат данных с разделителем и формат файла (кодировку) Юникод (UTF-8) → Далее
4. На втором шаге выбираем символ-разделитель для формирования таблицы. В текущем примере это запятая, но у вас может быть знак табуляции или точка с запятой → Далее
5. Третий шаг позволяет установить свой формат для каждого столбца (рекомендуется общий) → Готово!
6. Помещаем данные в ячейку → ОК.
7. Всё, можно работать. Не забудьте сохранить файл.
Источник
Язвы и грабли CSV и Excel: проблемы и решения
CSV является стандартом де-факто для связи между собой разнородных систем, для передачи и обработки объемных данных с «жесткой», табличной структурой. Во многих скриптовых языках программирования есть встроенные средства разбора и генерации, он хорошо понятен как программистам, так и рядовым пользователям, а проблемы с самими данными в нем хорошо обнаруживаются, как говорится, на глаз.
История этого формата насчитывает не менее 30 лет. Но даже сейчас, в эпоху повального использования XML, для выгрузки и загрузки больших объемов данных по-прежнему используют CSV. И, несмотря на то, что сам формат довольно неплохо описан в RFC, каждый его понимает по-своему.
В этой статье я попробую обобщить существующие знания об этом формате, указать на типичные ошибки, а также проиллюстрировать описанные проблемы на примере кривой реализации импорта-экспорта в Microsoft Office 2007. Также покажу, как обходить эти проблемы (в т.ч. автоматическое преобразование типов Excel-ом в DATETIME и NUMBER) при открытии .csv.
Начнем с того, что форматом CSV на самом деле называют три разных текстовых формата, отличающихся символами-разделителями: собственно сам CSV (comma-separated values — значения, разделенные запятыми), TSV (tab-separated values — значения, разделенные табуляциями) и SCSV (semicolon separated values — значения, разделенные точкой с запятой). В жизни все три могут называться одним CSV, символ-разделитель в лучшем случае выбирается при экспорте или импорте, а чаще его просто «зашивают» внутрь кода. Это создает массу проблем в попытке разобраться.
Как иллюстрацию возьмем казалось бы тривиальную задачу: импортировать в Microsoft Outlook данные из таблицы в Microsoft Excel.
В Microsoft Excel есть средства экспорта в CSV, а в Microsoft Outlook — соответствующие средства импорта. Что могло быть проще — сделал файлик, «скормил» почтовой программе и — дело сделано? Как бы не так.
Создадим в Excel тестовую табличку:
… и попробуем экспортировать ее в три текстовых формата:
«Текст Unicode» | Кодировка — UTF-16, разделители — табуляция, переводы строк — 0×0D, 0×0A, объем файла — 222 байт |
«CSV (разделители — запятые)» | Кодировка — Windows-1251, разделители — точка с запятой (не запятая!), во второй строке значение телефонов не взято в кавычки, несмотря на запятую, зато взято в кавычки значение «01;02», что правильно. Переводы строк — 0×0D, 0×0A. Объем файла — 110 байт |
«Текстовые файлы (с разделителями табуляции)» | Кодировка — Windows-1251, разделители — табуляция, переводы строк — 0×0D, 0×0A. Значение «01;02» помещено в кавычки (без особой нужды). Объем файла — 110 байт |
Какой вывод мы делаем из этого. То, что здесь Microsoft называет «CSV (разделители — запятые)», на самом деле является форматом с разделителями «точка с запятой». Формат у Microsoft — строго Windows-1251. Поэтому, если у вас в Excel есть Unicode-символы, они на выходе в CSV отобразятся в вопросительные знаки. Также то, что переводами строк является всегда пара символов, то, что Microsoft тупо берет в кавычки все, где видит точку с запятой. Также то, что если у вас нет Unicode-символов вообще, то можно сэкономить на объеме файла. Также то, что Unicode поддерживается только UTF-16, а не UTF-8, что было бы сильно логичнее.
Теперь посмотрим, как на это смотрит Outlook. Попробуем импортировать эти файлы из него, указав такие же источники данных. Outlook 2007: Файл -> Импорт и экспорт… -> Импорт из другой программы или файла. Далее выбираем формат данных: «Значения, разделенные запятыми (Windows)» и «Значения, разделенные табуляцией (Windows)».
«Значения, разделенные табуляцией(Windows)» | Скармливаем аутлуку файл tsv, с разделенными табуляцией значениями и. — чтобы вы думали. Outlook склеивает поля и табуляцию не замечает. Заменяем в файле табуляцию на запятые и, как видим, поля уже разбирает, молодец. |
«Значения, разделенные запятыми (Windows)» | А вот аутлук как раз понимает все верно. Comma — это запятая. Поэтому ожидает в качестве разделителя запятую. А у нас после экселя — точка с запятой. В итоге аутлук распознает все неверно. |
Два майкрософтовских продукта не понимают друг друга, у них напрочь отсутствует возможность передать через текстовый файл структурированные данные. Для того, чтобы все заработало, требуются «пляски с бубном» программиста.
Мы помним, что Microsoft Excel умеет работать с текстовыми файлами, импортировать данные из CSV, но в версии 2007 он делает это очень странно. Например, если просто открыть файл через меню, то он откроется без какого-либо распознавания формата, просто как текстовый файл, целиком помещенный в первую колонку. В случае, если сделать дабл-клик на CSV, Excel получает другую команду и импортирует CSV как надо, не задавая лишних вопросов. Третий вариант — вставка файла на текущий лист. В этом интерфейсе можно настраивать разделители, сразу же смотреть, что получилось. Но одно но: работает это плохо. Например, Excel при этом не понимает закавыченных переводов строк внутри полей.
Более того, одна и та же функция сохранения в CSV, вызванная через интерфейс и через макрос, работает по-разному. Вариант с макросом не смотрит в региональные настройки вообще.
Стандарта CSV как такового, к сожалению, нет, но, между тем, существует т.н. memo. Это RFC 4180 года, в котором описано все довольно толково. За неимением ничего большего, правильно придерживаться хотя бы RFC. Но для совместимости с Excel следует учесть его собенности.
Вот краткая выжимка рекомендаций RFC 4180 и мои комментарии в квадратных скобках:
- между строками — перевод строки CRLF [на мой взгляд, им не стоило ограничивать двумя байтами, т.е. как CRLF (0×0D, 0×0A), так и CR 0×0D]
- разделители — запятые, в конце строки не должно быть запятой,
- в последней строке CRLF не обязателен,
- первая строка может быть строкой заголовка (никак не помечается при этом)
- пробелы, окружающие запятую-разделитель, игнорируются.
- если значение содержит в себе CRLF, CR, LF (символы-разделители строк), двойную кавычку или запятую (символ-разделитель полей), то заключение значения в кавычки обязательно. В противном случае — допустимо.
- т.е. допустимы переводы строк внутри поля. Но такие значения полей должны быть обязательно закавычены,
- если внутри закавыченной части встречаются двойные кавычки, то используется специфический квотинг кавычек в CSV — их дублирование.
Вот в нотации ABNF описание формата:
Также при реализации формата нужно помнить, что поскольку здесь нет указателей на число и тип колонок, поскольку нет требования обязательно размещать заголовок, здесь есть условности, о которых необходимо не забывать:
- строковое значение из цифр, не заключенное в кавычки может быть воспринято программой как числовое, из-за чего может быть потеряна информация, например, лидирующие нули,
- количество значений в каждой строке может отличаться и необходимо правильно обрабатывать эту ситуацию. В одних ситуациях нужно предупредить пользователя, в других — создавать дополнительные колонки и заполнять их пустыми значениями. Можно определиться, что количество колонок задается заголовком, а можно добавлять их динамически, по мере импорта CSV,
- Квотить кавычки через «слэш» не по стандарту, делать так не надо.
- Поскольку типизации полей нет, нет и требования к ним. Разделители целой и дробной частей в разных странах разные, и это приводит к тому, что один и тот же CSV, сгенрированный приложением, в одном экселе «понимается», в другом — нет. Потому что Microsoft Office ориентируется на региональные настройки Windows, а там может быть что угодно. В России там указано, что разделитель — запятая,
- Если CSV открывать не через меню «Данные», а напрямую, то Excel лишних вопросов не задает, и делает как ему кажется правильным. Например, поле со значением 1.24 он понимает по умолчанию как «24 января»
- Эксель убивает ведующие нули и приводит типы даже тогда, когда значение указано в кавычках. Делать так не надо, это ошибка. Но чтобы обойти эту проблему экселя, можно сделать небольшой «хак» — значение начать со знака «равно», после чего поставить в кавычках то, что необходимо передать без изменения формата.
- У экселя есть спецсимвол «равно», который в CSV рассматривается как идентификатор формулы. То есть, если в CSV встретится =2+3, он сложит два и три и результат впишет в ячейку. По стандарту он это делать не должен.
Пример валидного CSV, который можно использовать для тестов:
точно такой же SCSV:
Первый файлик, который реально COMMA-SEPARATED, будучи сохраненным в .csv, Excel-ом не воспринимается вообще.
Второй файлик, который по логике SCSV, экселом воспринимается и выходит вот что:
Ошибки Excel-я при импорте:
- Учлись пробелы, окружающие разделители
- Последний столбец вообще толком не распознался, несмотря на то, что данные в кавычках. Исключение составляет строка с «Петровым» — там корректно распозналось 1,24.
- В поле индекс Excel «опустил» ведущие нули.
- в самом правом поле последней строки пробелы перед кавычками перестали указывать на спецсимвол
Если же воспользоваться функционалом импорта (Данные -> Из файла) и обозвать при импорте все поля текстовыми, то будет следующая картина:
С приведением типов сработало, но зато теперь не обрабатываются нормально переводы строк и осталась проблема с ведущими нулями, кавычками и лишними пробелами. Да и пользователям так открывать CSV крайне неудобно.
Есть эффективный способ, как заставить Excel не приводить типы, когда это нам не нужно. Но это будет CSV «специально для Excel». Делается это помещением знака «=» перед кавычками везде, где потенциально может возникнуть проблема с типами. Заодно убираем лишние пробелы.
И вот что случаеся, если мы открываем этот файлик в экселе:
Чтобы сгенерировать такой CSV, которым можно было бы пользоваться, пользователю нужно дать возможность сделать следующие настройки перед экспортом:
- выбрать кодировку. Как правило, важно UTF-8, UTF-16, Windows-1251, KOI8-R. Чаще всего, других вариантов нет. Одна из них должна идти по умолчанию. В случае, если данные содержат символы, не имеющие аналогов в целевой кодировке, нужно предупреждать пользователя, что данные будут битые;
- выбрать разделитель между полями. Варианты — табуляция, запятая, точка с запятой. По умолчанию — точка с запятой. Не забыть, что если разделитель вводится в тексте, то будет очень непросто ввести туда табуляцию, это еще и непечатный символ;
- выбрать разделитель между строками (CRLF 0×0D 0×0A или CR 0×0D);
- выбрать разделитель целой и дробной части для числовых данных (точка или запятая).
- выбрать, выводить ли строку заголовка;
- выбрать, каким образом осуществлять квотинг спецсимволов (особенно переводов строк и кавычек). В принципе, можно отступиться от стандарта и квотировать их как n и », но нужно в этом случае не забыть квотировать сами n, если они встретятся и не забыть сделать это опцией при экспорте-импорте. Но совместимость пойдет лесом, потому что любой RFC-стандартный парсер конструкцию . «abc«»,… посчитает за ошибку;
- совсем в идеале — поставить галочку «для Excel» и учитывать там те нестандартности, которые внесла Майкрософт. К примеру, заменять значения числовых полей, «похожих на дату», на конструкцию =» «.
- определиться, нужно ли оставлять «хвост» из пустых разделителей, если он образуется. Например, из 20 полей только первое содержит данные, а остальные пустые. В итоге, в строке можно либо ставить после первого 19 разделителей, либо не ставить. Для больших объемов данных это может спасти миллисекунды обработки и уменьшить размер файла.
Чтобы построить хороший и удобный импортер CSV, необходимо помнить о следующем:
- разбор файла нужно делать по лексемам в соответствии с грамматикой выше или пользоваться хорошо зарекомендовавшими себя готовыми библиотеками (Excel работает иначе, потому с импортом проблема);
- предоставлять пользователю возможность выбрать кодировку (топ 4 достаточно);
- предоставлять пользователю возможность выбрать разделитель между полями (запятая, табуляция, точка с запятой достаточно);
- предоставлять пользователю возможность выбрать разделитель между строками, но кроме вариантов CR и CRLF нужно предусмотреть «CR или CRLF». Это связано с тем, что, например, Excel при экспорте таблицы с переводами строк внутри ячеек экспортирует эти переводы строк как CR, а остальные строки разделяет CRLF. При этом при импорте файла ему все равно, CR там или CRLF;
- предоставлять пользователю возможность выбрать разделитель между целой и дробной частей (запятая или точка);
- определиться с методом разбора — сначала читаем все в память, потом обрабатываем или обрабатываем строку за строкой. В первом случае может понадобиться больше памяти, во втором случае — ошибка в середине вызовет только частичный импорт, что может вызвать проблемы. Предпочительнее первый вариант.
Источник
Although CSV stands for comma-separated values, it has become a common file type to define simple text files including delimiter-separated data. Thus, a CSV file can use a semicolon or tab character as a delimiter as well. In this guide, we’re going to show you how to change CSV delimiter in Excel.
Changing the delimiter in Excel Options
The first approach in our article is about changing how Excel evaluates CSV files including saving. You can make Excel using semicolon (;) as the delimiter.
- Open Advanced Options by following File > Options > Advanced.
- In the Editing options section, find Use system operators
- Uncheck it to override the system settings.
- Set Decimal separator to comma (,) and Thousands separator to period (.).
- Clicking OK ensures that Excel uses semicolon (;) as the delimiter.
This setting allows Excel to save CSV files with semicolons (;).
If you are using a computer with European version, your settings may already be like above. You can change the operators to convert the delimiter from a semicolon to a comma.
Changing the CSV delimiter when importing files
Excel also allows you to change the delimiter while opening files. This is a more convenient way if you do not want to alter Excel’s entire behavior. Because Excel’s data import features have been updated vastly beginning with 2016, we divided this section into two parts.
Power Query — Excel 2016 and newer
Disclaimer: Power Query has been part of Excel 2010 and Excel 2013 as well. However, Microsoft released it as an add-in. Excel 2016 has the Power Query features by default. You can learn more about Power Query at Power Query 101.
Power Query allows you to choose the delimiter when creating a connection. You can find the option in the Preview dialog. You can create the connection by using From Text/CSV command in Data > Get & Transform Data.
Selecting the file opens the Preview window. Probably, the Power Query guessed the delimiter correctly. However, you can change CSV delimiter easily at a dropdown option.
Use Load or Transform Data buttons to load the data directly into your workbook or modify it in the Power Query window respectively.
Excel 2013 or older
If you are using Excel 2013 or a previous version without the Power Query add-in, you can use Text Import Wizard which shares a similar user interface with Text to Columns wizard.
- Click Data > Get External Data > From Text to select a file and open the Text Import Wizard.
- In the first step of the wizard, make sure to select Delimited
- Click Next button to continue.
- Select one or more delimiters that fits your data. You can see if the data is separated correctly in the Data preview section.
- You can modify data types for columns at the next step. Click Next to continue the third step or click the Finish button to populate the separated data in your worksheet.
Импорт и экспорт текстовых файлов (в формате TXT или CSV)
Импортировать данные из текстового файла в Excel можно двумя способами: открыть их в Excel или импортировать как диапазон внешних данных. Чтобы экспортировать данные из Excel в текстовый файл, воспользуйтесь командой Сохранить как и измените тип файла в меню.
Чаще всего используются два формата текстовых файлов:
-
текстовые файлы с разделителями (TXT), в которых для разделения полей текста обычно используется знак табуляции (знак ASCII с кодом 009);
-
текстовые файлы с разделителями-запятыми (CSV), в которых в качестве разделителя полей текста обычно используется запятая (,).
Вы можете изменить знак разделения, используемый в TXT- и CSV-файлах. Это может потребоваться для обеспечения успешного выполнения импорта и экспорта.
Примечание: Можно импортировать и экспортировать до 1 048 576 строк и 16 384 столбцов.
Импорт текстового файла путем его открытия в Excel
Текстовый файл, созданный в другой программе, можно открыть как книгу Excel с помощью команды Открыть. При открытии текстового файла в Excel его формат не изменяется — это можно заметить по заголовку окна Excel, где имя указывается с расширением текстового файла (например, TXT или CSV).
-
Перейдите в >открыть и перейдите в папку с текстовым файлом.
-
В диалоговом окне Открытие выберите текстовые файлы в списке тип файла.
-
Найдите нужный файл и дважды щелкните его.
-
Если это текстовый файл (с расширением ТХТ), запустится мастер импорта текста. Окончив работу с мастером, нажмите кнопку Готово, чтобы завершить импорт. Дополнительные сведения о разных вариантах и дополнительных параметрах см. в мастере импорта текста.
-
Если файл имеет расширение CSV, Excel автоматически откроет его и отобразит данные в новой книге.
Примечание: При открытии CSV-файлов для определения способа импорта каждого столбца используются заданные по умолчанию параметры форматирования данных. Если вы хотите применить другие параметры, используйте мастер импорта текста. Например, мастер потребуется, если столбец данных в CSV-файле имеет формат МДГ, а в Excel по умолчанию используется формат ГМД или необходимо преобразовать в текст столбец чисел, содержащих начальные нули, чтобы сохранить их. Чтобы принудительно запустить мастер импорта текста, можно изменить расширение имени файла с CSV на TXT или импортировать текстовый файл путем подключения к нем (дополнительные сведения см. в следующем разделе).
-
Импорт текстового файла путем подключения к нем (Power Query)
Вы можете импортировать данные из текстового файла в существующий.
-
На вкладке Данные в группе & преобразование данных выберите из текстового/CSV-документа.
-
В диалоговом окне Импорт данных найдите и дважды щелкните текстовый файл, который нужно импортировать,и нажмите кнопку Импорт.
-
В диалоговом окне предварительного просмотра есть несколько вариантов:
-
Выберите Загрузить, если вы хотите загрузить данные непосредственно на новый.
-
Кроме того, выберите загрузить в, если вы хотите загрузить данные в таблицу, в смету или на существующий или новый листа Excel, или просто создать подключение. Вы также можете добавить данные в модель данных.
-
Выберите Преобразовать данные, если вы хотите загрузить данные в Power Query и отредактировать их перед их преобразованием в Excel.
-
Если Excel не преобразует определенный столбец данных в нужный формат, их можно преобразовать после импорта. Дополнительные сведения см. в статьях Преобразование чисел из текстового формата в числовой и Преобразование дат из текстового формата в формат даты.
Экспорт данных в текстовый файл путем его сохранения
Лист Excel можно преобразовать в текстовый файл, используя команду Сохранить как.
-
Выберите Файл > Сохранить как.
-
Нажмите кнопку Обзор.
-
В диалоговом окне Сохранить как в поле Тип файла выберите формат текстового файла для этого документа. Например, щелкните Текст (с табу женой) или CSV (сзапятой).
Примечание: Различные форматы текстовых файлов поддерживают разные возможности. Дополнительные сведения см. в статье Поддерживаемые Excel форматы файлов.
-
Перейдите в папку, куда вы хотите сохранить файл, а затем нажмите кнопку Сохранить.
-
Откроется диалоговое окно с напоминанием о том, что в текстовом файле будет сохранен только текущий лист. Если вы хотите сохранить именно текущий лист, нажмите кнопку ОК. Другие листы можно сохранить в отдельных текстовых файлах, повторив эту процедуру для каждого из них.
Кроме того, под лентой может появиться предупреждение о том, что некоторые возможности могут быть потеряны при сохранение книги в формате CSV.
Дополнительные сведения о сохранении файлов в других форматах см. в статье Сохранение книги в другом формате файла.
Импорт текстового файла путем подключения к нему
Вы можете импортировать данные из текстового файла в существующий.
-
Щелкните ячейку, в которую вы хотите поместить данные из текстового файла.
-
На вкладке Данные в группе Получение внешних данных нажмите Из текста.
-
В диалоговом окне Импорт данных найдите и дважды щелкните текстовый файл, который нужно импортировать,и нажмите кнопку Импорт.
Следуйте инструкциям мастера импорта текста. Щелкните
на любой странице мастера импорта текста, чтобы получить дополнительные сведения об использовании мастера. Окончив работу с мастером, нажмите кнопку Готово, чтобы завершить импорт.
-
В диалоговом окне Импорт данных:
-
В группе Куда следует поместить данные? выполните одно из следующих действий:
-
Чтобы поместить данные в выбранные ячейки, щелкните На существующий лист.
-
Чтобы поместить данные в верхний левый угол нового листа, выберите вариант На новый лист.
-
-
При необходимости нажмите кнопку Свойства, чтобы задать параметры обновления, форматирования и макета импортируемых данных.
-
Нажмите кнопку ОК.
Excel добавит диапазон внешних данных в указанное место.
-
Если Excel не преобразует столбец в необходимый формат, это можно сделать после импорта. Дополнительные сведения см. в статьях Преобразование чисел из текстового формата в числовой и Преобразование дат из текстового формата в формат даты.
Экспорт данных в текстовый файл путем его сохранения
Лист Excel можно преобразовать в текстовый файл, используя команду Сохранить как.
-
Выберите Файл > Сохранить как.
-
Откроется диалоговое окно Сохранение документа.
-
В поле Тип файла выберите формат текстового файла для листа.
-
Например, выберите Текстовые файлы (с разделителями табуляции) или CSV (разделители — запятые).
-
Примечание: Различные форматы текстовых файлов поддерживают разные возможности. Дополнительные сведения см. в статье Поддерживаемые Excel форматы файлов.
-
-
Перейдите в папку, куда вы хотите сохранить файл, а затем нажмите кнопку Сохранить.
-
Откроется диалоговое окно с напоминанием о том, что в текстовом файле будет сохранен только текущий лист. Если вы хотите сохранить именно текущий лист, нажмите кнопку ОК. Другие листы можно сохранить в отдельных текстовых файлах, повторив эту процедуру для каждого из них.
-
Откроется второе диалоговое окно с напоминанием о том, что сохраняемый лист может содержать возможности, которые не поддерживаются текстовыми форматами файлов. Если в новом текстовом файле нужно сохранить только данные листа, нажмите кнопку Да. Если вы не уверены и хотите получить дополнительные сведения о том, какие возможности Excel не поддерживаются форматами текстовых файлов, нажмите кнопку Справка.
Дополнительные сведения о сохранении файлов в других форматах см. в статье Сохранение книги в другом формате файла.
Способ изменения деления при импорте зависит от того, как вы импортируете текст.
-
Если вы используете get & Transform Data > From Text/CSV, после выбора текстового файла и нажатия кнопки Импорт выберитесимвол, который нужно использовать в списке …. Новый вариант можно сразу же увидеть в окне предварительного просмотра данных, чтобы убедиться в том, что вы сделаете нужный вариант, прежде чем продолжить.
-
Если вы импортируете текстовый файл с помощью мастера импорта текста, вы можете изменить его на шаге 2 мастера импорта текста. На этом шаге также можно изменить способ обработки последовательных разделителей (например, идущих подряд кавычек).
Дополнительные сведения о разных вариантах и дополнительных параметрах см. в мастере импорта текста.
Если при сохранение в CSV-окне вы хотите использовать в качестве по умолчанию полу двоеточие, но для этого нужно ограничиться Excel, измените десятичной запятой. В этом случае Excel будет использовать для этого двоеточие. Очевидно, что это также изменит способ отображения десятичных чисел, поэтому также рассмотрите возможность изменения разграничения чисел в тысячах, чтобы сузить путаницу.
-
Очистка параметров Excel> Дополнительные>параметры редактирования> Использование системных междугов.
-
Для десятичной запятой установитедля десятичной запятой (запятую).
-
Установите для 1000-го построитель. (точка).
Когда вы сохраняете книгу в CSV-файле, по умолчанию в качестве разных списков запятой является запятая. Вы можете изменить этот знак на другой знак с помощью параметров региона Windows.
Внимание: Изменение параметров Windows приведет к глобальным изменениям на компьютере и повлияет на все приложения. Чтобы изменить только делитель для Excel, см. изменение стандартного деления в списке для сохранения файлов в виде текста (CSV- или CSV-файла) в Excel.
-
В Microsoft Windows 10 щелкните правой кнопкой мыши кнопку Начните и выберите параметры.
-
Нажмите кнопку & языки выберите регион в левой области.
-
На главной панели в группе Региональные параметрыщелкните Дополнительные параметры даты,времени и региона.
-
В областивыберите изменить форматы даты, времени или числа.
-
В диалоговом окке Регион на вкладке Формат нажмите кнопку Дополнительные параметры.
-
В диалоговом окне Настройка формата на вкладке Числа введите символ, который будет использовать в качестве нового в поле «Сепаратор списков».
-
Дважды нажмите кнопку ОК.
-
Нажмите кнопку Пуск и выберите пункт Панель управления.
-
В разделе Часы, язык и регион щелкните элемент Изменение форматов даты, времени и чисел.
-
В диалоговом окке Регион на вкладке Формат нажмите кнопку Дополнительные параметры.
-
В диалоговом окне Настройка формата на вкладке Числа введите символ, который будет использовать в качестве нового в поле «Список».
-
Дважды нажмите кнопку ОК.
Примечание: После изменения разделителя элементов списка все программы на компьютере будут использовать новый символ. Вы можете вернуть стандартный символ, выполнив эти же действия.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
См. также
Импорт данных из внешних источников (Power Query)
Нужна дополнительная помощь?
Многие сервисы, например, Яндекс Вебмастер или Google Search Console, формируют файлы для скачивания в формате CSV.
Увидеть данные можно в стандартной программе «Блокнот» или в Notepad++, но работать с ними всё же удобнее в Excel. Однако, можно столкнуться с двумя проблемами: 1) csv-файл может открываться как набор символов (кракозябрами); 2) часто данные csv-файла оформлены в виде строк, а не таблицы.
Импорт CSV в EXCEL
Чтобы увидеть данные в нормальной кодировке и в табличном виде, необходимо импортировать файл csv в Excel. Как это сделать?
1. Запускаем Excel. Вкладка «Данные», затем «Получение внешних данных» → «Из текста».
2. В диалоговом окне выбираем csv-файл с кракозябрами → Импорт.
3. В окне мастера на первом шаге устанавливаем формат данных с разделителем и формат файла (кодировку) Юникод (UTF-8) → Далее
4. На втором шаге выбираем символ-разделитель для формирования таблицы. В текущем примере это запятая, но у вас может быть знак табуляции или точка с запятой → Далее
5. Третий шаг позволяет установить свой формат для каждого столбца (рекомендуется общий) → Готово!
6. Помещаем данные в ячейку → ОК.
7. Всё, можно работать. Не забудьте сохранить файл.
Обновлено 25.05.2020
Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов для системных администраторов Pyatilistnik.org. В прошлый раз мы с вами подробно разобрали 10 методов как открыть командную строку. В сегодняшней публикации я хочу вас научить разбивать строки в CSV файле на столбцы, которые потом можно использовать в файлах Excel. Уверен, что многие системные администраторы часто работаю с экспортными данными в формате CSV.
Постановка задачи
Бьюсь об заклад, что у 99% средних и крупных организаций в России инфраструктура построена на использовании Active Directory. Активный каталог замечательная вещь и легко интегрируется в различные сторонние сервисы. Самая частая задача администратора, это получение отчетов или выгрузок по определенным критериям, например:
- Получить список пользователей Active Directory с рядом атрибутов
- Получить список серверов у которых операционная система Windows Server 2008 R2, чтобы в дальнейшем их вывести из эксплуатации
- Получить список всех компьютеров или пользователей, кто не авторизовывался какое-то время. И так до бесконечности
Получить данные вы можете в разном виде, например в виде выдачи на самом экране, или же в сохраненный файл в формате txt или csv. CSV более распространенный, так как позволяет не только выгружать данные, но и еще их импортировать. Вроде бы все удобно, но есть одно но, когда вы захотите красиво перенести такие данные из csv, txt или экрана, у вас не будет форматирования или столбцов, все будет смешано в кучу, а это не удобно. Ниже я вас научу это обходить.
Структура файла CSV
Файл с разделителями-запятыми (CSV) представляет собой простой текстовый файл, который содержит список данных. Эти файлы часто используются для обмена данными между различными приложениями. Например, базы данных и менеджеры контактов часто поддерживают файлы CSV.
Эти файлы иногда могут называться символьно-разделенными значениями или файлами с разделителями-запятыми. В основном они используют запятую для разделения данных, но иногда используют другие символы, такие как точки с запятой. Идея состоит в том, что вы можете экспортировать сложные данные из одного приложения в файл CSV, а затем импортировать данные из этого файла CSV в другое приложение.
Вот пример такого строки с разделителями:
«Name»,»OperatingSystem»,»LastLogonDate»,»Modified»,»Enabled» ,»Ping»,»DistinguishedName»
«DC01″,»Windows Server 2008 R2 Standard»,»02.11.2018 6:14:02″, «21.12.2018 15:56:16″,»Torge»,»False»,»CN=DC01, OU=ComputerStore,OU=root,DC=pyatilistnik,DC=org»
теперь представьте, что таких строк сотни или тысячи, а вы хотите все скопировать в ваш Exсel и по столбцам, вот тут вы и поймете, что одностроковый формат требует преобразования. Благо, это делается очень быстро и просто. Вот пример моего тестового csv файла.
Как csv разделить по столбцам в Excel
Первым инструментом, который позволит из csv получить красивые столбцы и разбиение по ним, будет Excel. Откройте в Excel ваш файл csv.
- Выделите первый столбец и перейдите на вкладку «Данные«
- Найдите пункт «Текст по столбцам«
На первом окне мастера распределения текста по столбцам нажмите «Далее».
Далее вам необходимо указать по каким критериям производить разбивку по столбцам, на выбор у вас будет:
- Знак табуляции
- Точка с запятой
- Запятая
- Пробел
- Другой вариант
В моем примере CSV разделяет отдельные данные с помощью запятой. Тут же вы сразу видите, как это будет выглядеть в области «Образец разбора данных«.
Далее при необходимости вы можете указать формат (Общий, текстовый, дата) и диапазон к которому будет применяться ваше преобразование. Нажимаем «Готово«.
На выходе я получил красивую таблицу, где есть разбивка по столбца. В таком виде мне уже удобнее оперировать данными.
Далее вам остается сохранить файл в формате xlsx и радуемся жизни.
Как csv разделить по столбцам через Google Таблицы
Не так давно я вам рассказывал про установку через групповую политику расширения для Google Chrome под названием «Редактирование файлов Office«. Это расширение позволяло работать с файлами Word, Excel и PowerPoint в Google Документах, Google Таблицах и Google Презентациях. Если вы через него откроете ваш файл CSV, то вы буквально в два клика сможете его разбить на столбцы. Для этого выберите меню «Файл — Сохранить в формате Google Таблиц«.
Начнется переделывание формата CSV в формат Google Таблиц
На выходе вы получаете разделенный по столбцам документ.
Далее вы уже можете оперировать этими данными или же можете их сохранить в нужный формат. Если у вас изначально документ Google Таблиц содержит данные разделенные запятой в виде одной строки, то вы их можете преобразовать в столбцы вот таким методом. Открываете меню «Данные — Разделить текст на столбцы«
Выбираете тип разделения, в моем случае запятая.
Затем выбираете ваш столбец с данным и еще раз нажмите «Данные — Разделить текст на столбцы«
В результате чего они будут разбиты на аккуратные столбцы
Как видите Google Таблицы умеют быстро разбить файл CSV по столбцам. Надеюсь, что это вам сэкономит время и вы сможете теперь более удобно оперировать данными. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.