Текст csv как сохранить
Конвертировать CSV в Excel в виде таблицы
Как конвертировать CSV в формат Excel
Существуют различные пути, которыми документ формата CSV, скачанный из базы данных, может быть перенесён в Excel. Мы обсудим три из них:
Открытие CSV-документа в Excel
Есть случаи, когда документ лучше не открывать напрямую, а вызвать Мастер. Такой подход оправдан в следующих случаях:
Открытие CSV-документа через Windows Explorer
Этот путь принципиально не отличается от предыдущего. Чтобы открыть документ, достаточно два раза кликнуть на него в Windows Explorer.
Перед открытием убедитесь, что рядом с именем документа находится значок программы Excel, а не какой-то другой – это означает, что именно Excel выбран как программа, которой следует открывать подобные файлы. Иначе откроется какая-либо иная программа. Сменить её на Excel можно так:
Импорт CSV в Excel
На изображении ниже видны изначальный документ и результат, который предполагается получить. Чтобы после импорта всё выглядело именно так, нужно применить различные настройки, о которых пойдёт речь далее.
Также нужно определить и указать ограничитель текста. Это символ, поставленный перед и после каждого отрезка текста, который должен располагаться в одной ячейке. Благодаря ограничителю, каждый подобный отрезок воспринимается как отдельное значение, даже если внутри него присутствуют символы, выбранные для разделения значений. В нашем документе каждое значение обрамлено кавычками — потому, даже если в нём присутствует запятая (например «начало, потом продолжение»), весь его текст будет помещён в одну ячейку, а не в две последовательные.
Также можно нажать Свойства — там содержатся другие возможности. Например, можно форматировать содержимое, настроить разметку и то, как информация будет обновляться.
Иногда результат конвертации оказывается далёким от ожидаемого. О том, как этот результат можно изменить, пойдёт речь в следующем разделе статьи.
Проблемы при конвертации и их решения
За всё время, которое существует формат CSV, никто не удосужился официально задокументировать его. Потому, хотя и предполагается, что для разделения значений должны использоваться запятые, на самом деле в разных базах данных используются различные разделительные знаки — точка с запятой, знак табуляции и другие.
Ограничители текста также могут варьироваться – чаще всего это либо кавычки, либо метка порядка байтов. Ограничителей может и вовсе не быть – тогда символ, используемый как разделитель, всегда воспринимается как таковой (тогда это обычно не запятая – она слишком часто применяется в тексте — а иной, менее распространённый символ).
Нестандартные файлы могут открываться неправильно — чтобы они отображались так, как надо, приходится менять настройки компьютера или открывающей программы. Давайте посмотрим, какие бывают затруднения, и какие для них существуют решения.
Файл открывается неправильно
Иной символ, написанный после sep= в начальной строке, также станет разделителем.
Решения, представленные выше, рассчитаны на отдельные документы, настройки которых отличаются от обычных. Указанные последовательности действий нужно будет применять для каждого файла, который открывается неправильно. Если неправильно открывается большая часть документов, возможно, лучшим решением будет смена настроек компьютера – об этом сказано в пятом решении.
Когда все настройки завершены, нажмите ОК на обоих из двух открытых окон — они закроются, и изменения сохранятся. Имейте в виду, что теперь они работают для всех программ в компьютере.
Исчезают нули в начале чисел
Часть значений выглядит как даты
Как импортировать в Excel множественные CSV-файлы
В Excel возможно открыть сразу несколько CSV-файлов.
Недостаток этого метода в том, что каждый выбранный файл будет открыт в Excel отдельно. Переход от одного документа к другому может увеличивать временные затраты. Однако, затем возможно скопировать содержимое их всех в листы одной книги.
Объяснение было долгим, однако, теперь у Вас получится без особых затруднений открыть любой файл CSV в Excel. Если что-то кажется непонятным на первый взгляд, просто следуйте указанным шагам — и всё прояснится.
Как перенести файл Excel в CSV (пошаговая инструция)
CSV (разделенные запятыми значения) — это тип файлов, который содержит информацию (такую как текст и номера) в виде сплошного полотна текста. Документы в таком расширении поддерживаются большинством современных программ и приложений, поэтому CSV пользуется значительной популярностью как один из способов импорта и экспорта данных. Файлы в таком формате позволяют быстро определить проблему (если она есть), потому что при ошибках меняются разделения данных и правила цитирования. CSV доступен для понимания новичкам, обычным и более продвинутым пользователям, так как этот тип содержит в себе простой текст, и для него не требуется высокого уровеня знаний или понимания принципов работы сложных кодировок.
В этом руководстве мы рассмотрим самые быстрые и удобные способы конвертации данных, а также попытаемся объяснить, как сохранить различные иностранные символы при переносе данных, и как провести этот процесс с кодировкой UTF-8 и UTF-16.
Перевод файлов в CSV
Кроме этого типа файла есть и несколько дополнительных расширений:
Заметка. Все вышеуказанные форматы сохранят информацию только на действующем рабочем листе.
Вот и все, ваши файлы конвертированы. Это довольно простой, прямолинейный и быстрый процесс, который вряд ли вызовет какие-то проблемы или сложности.
Как перевести файлы в CSV с кодировкой UTF-8 и UTF-16
Самым простым способом будет сохранить Excel-файл в Юникоде и потом конвертировать его в CSV. В этом случае все символы, которые не относятся к стандартному коду информационного обмена, никуда не денутся и будут отображаться, как надо.
Перед тем, как мы продолжим с использованием кодировок во время сохранения файлов, следует выяснить основные различия между кодировкой UTF-8 и UTF-16 для того, чтобы пользователь смог сделать для себя правильный выбор.
Так что эту кодировку хорошо использовать, если в ваших документах много азиатских символов из японского, корейского или китайского языков. К недостаткам можно отнести то, что такая кодировка не полностью совместима с кодами информационного обмена и требует программы, способной распознавать Юникод, чтобы отобразить такие символы. Так, об этом нужно помнить, когда пользователь собирается импортировать куда-то файлы Excel.
Как перевести Excel файлы в CSV при наличии кодировки UTF-8
Предположим, у вас есть таблица с иностранными знаками — в нашем случае это будут японские символы:
В таком случае понадобится сделать так, чтобы эти символы остались на месте при переносе:
Заметка. Некоторые простые текстовые программы не поддерживают все символы, так что они могут отображаться в виде квадратов. Обычно это никак не влияет на конечный результат, и это можно игнорировать. Или можно установить более продвинутую версию текстового редактора, например, “Блокнот++”.
Заметка. Если у вас нет специфических требований относительно разделения текста в файле, вы можете пропустить следующий шаг, так как Excel без проблем справляется с табуляцией.
Если же вам все-таки нужны документы с разделительными запятыми, то продолжайте работу с Блокнотом.
В Блокноте в результате должно получиться следующее:
Как альтернативный вариант, это можно сделать после завершения работы в “Блокноте”. Когда будете сохранять файл, в типе файла выберите «Все файлы (*.*)»
Заметка. Если ваш файл будет использоваться вне Excel с кодировкой UTF-8, не вносите какие-либо изменения в документ. И не нужно сохранять его в CSV, иначе это создаст проблемы в кодировке. Если какая-то информация не отражается в Excel, исправлять все нужно через Блокнот.
Как перенести файлы Excel в CSV с кодировкой UTF-16
Перенос файлов с такой кодировкой значительно быстрее и легче, чем с UTF-8. Все потому что Excel автоматически использует эту кодировку во время сохранения файлов в Юникоде (.txt).
Если же нужно разделение запятыми в тексте, то проделывайте ту же процедуру, что и в предыдущем примере с UTF-8.
Другие способы конвертации
Вышеописанные методы универсальны и подходят для работы с любыми специальными символами на всех версиях Excel.
Однако, существует несколько других способ конвертации файлов Excel в CSV. Но в отличии от предыдущих вариантов, эти методы не дадут готовый UTF-формат. Но все необходимые данные и символы сохранятся, так что потом это можно перевести в UTF.
Таблицы Google
С помощью этих таблиц можно легко перенести Excel-файлы в CSV, для этого нужно выполнить пять простых шагов:
Подсказка: Если у вас небольшая таблица Excel, вы можете просто скопировать и вставить таблицу.
Сохранить как «.xksx», «.xls» и конвертировать в «.csv»
Сохраняете файл как одно из этих расширений и потом конвертируйте. Однако такой способ работает не у всех пользователей, так что можете попробовать его. Если не получится — то не проблема, а если все-таки получится — это сохранит много времени.
Сохранить файл с помощью OpenOffice
Далее появится окно с выбором Наборов символов и Разделителями полей. Выбираете UTF-8 с разделенными запятыми символами и жмете ОК.
Вы также можете использовать любое другое приложение подобного рода для проведения безболезненной и простой конвертации файлов в CSV.
Пожалуй, это все самые распространенные способы конвертации Excel файлов в CSV.
Язвы и грабли CSV и Excel: проблемы и решения
CSV является стандартом де-факто для связи между собой разнородных систем, для передачи и обработки объемных данных с «жесткой», табличной структурой. Во многих скриптовых языках программирования есть встроенные средства разбора и генерации, он хорошо понятен как программистам, так и рядовым пользователям, а проблемы с самими данными в нем хорошо обнаруживаются, как говорится, на глаз.
История этого формата насчитывает не менее 30 лет. Но даже сейчас, в эпоху повального использования XML, для выгрузки и загрузки больших объемов данных по-прежнему используют CSV. И, несмотря на то, что сам формат довольно неплохо описан в RFC, каждый его понимает по-своему.
Начнем с того, что форматом 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, что было бы сильно логичнее.
«Значения, разделенные табуляцией(Windows)» | Скармливаем аутлуку файл tsv, с разделенными табуляцией значениями и. — чтобы вы думали. Outlook склеивает поля и табуляцию не замечает. Заменяем в файле табуляцию на запятые и, как видим, поля уже разбирает, молодец. |
«Значения, разделенные запятыми (Windows)» | А вот аутлук как раз понимает все верно. Comma — это запятая. Поэтому ожидает в качестве разделителя запятую. А у нас после экселя — точка с запятой. В итоге аутлук распознает все неверно. |
Два майкрософтовских продукта не понимают друг друга, у них напрочь отсутствует возможность передать через текстовый файл структурированные данные. Для того, чтобы все заработало, требуются «пляски с бубном» программиста.
Мы помним, что Microsoft Excel умеет работать с текстовыми файлами, импортировать данные из CSV, но в версии 2007 он делает это очень странно. Например, если просто открыть файл через меню, то он откроется без какого-либо распознавания формата, просто как текстовый файл, целиком помещенный в первую колонку. В случае, если сделать дабл-клик на CSV, Excel получает другую команду и импортирует CSV как надо, не задавая лишних вопросов. Третий вариант — вставка файла на текущий лист. В этом интерфейсе можно настраивать разделители, сразу же смотреть, что получилось. Но одно но: работает это плохо. Например, Excel при этом не понимает закавыченных переводов строк внутри полей.
Более того, одна и та же функция сохранения в CSV, вызванная через интерфейс и через макрос, работает по-разному. Вариант с макросом не смотрит в региональные настройки вообще.
Стандарта CSV как такового, к сожалению, нет, но, между тем, существует т.н. memo. Это RFC 4180 года, в котором описано все довольно толково. За неимением ничего большего, правильно придерживаться хотя бы RFC. Но для совместимости с Excel следует учесть его собенности.
Вот краткая выжимка рекомендаций RFC 4180 и мои комментарии в квадратных скобках:
Вот в нотации ABNF описание формата:
Также при реализации формата нужно помнить, что поскольку здесь нет указателей на число и тип колонок, поскольку нет требования обязательно размещать заголовок, здесь есть условности, о которых необходимо не забывать:
Пример валидного CSV, который можно использовать для тестов:
точно такой же SCSV:
Второй файлик, который по логике SCSV, экселом воспринимается и выходит вот что:
С приведением типов сработало, но зато теперь не обрабатываются нормально переводы строк и осталась проблема с ведущими нулями, кавычками и лишними пробелами. Да и пользователям так открывать CSV крайне неудобно.
Есть эффективный способ, как заставить Excel не приводить типы, когда это нам не нужно. Но это будет CSV «специально для Excel». Делается это помещением знака «=» перед кавычками везде, где потенциально может возникнуть проблема с типами. Заодно убираем лишние пробелы.
И вот что случаеся, если мы открываем этот файлик в экселе:
Чтобы построить хороший и удобный импортер CSV, необходимо помнить о следующем:
Текст csv как сохранить
Иногда нам нужно экспортировать данные книги в файлы CSV, когда нам нужно отправить файл CSV с данными Excel другим пользователям или импортировать файл CSV с данными Excel в другие программы. Здесь мы предлагаем несколько методов для экспорта и сохранения данных рабочего листа в виде файлов CSV.
По умолчанию книги Excel сохраняются как файл XLSX в Excel 2007 или более поздних версиях. Если вам нужно экспортировать данные активного листа в файл CSV, вы можете использовать Сохранить как функция следующим образом:
1. Активируйте рабочий лист, который вы хотите экспортировать в файл CSV, и нажмите Файл > Сохранить как> Обзор.
2. В диалоговом окне Сохранить как:
Выделяться из толпы
Попрощайтесь с ужасными VBA и формулами!
3. Теперь появляется диалоговое окно с предупреждением, что сохранится только активный лист. Пожалуйста, нажмите на OK кнопку, чтобы продолжить.
4. Откроется другое диалоговое окно с предупреждением, что некоторые функции могут быть потеряны. Пожалуйста, нажмите на Да кнопку, чтобы завершить сохранение.
Пока все данные на активном листе сохранены в файле CSV.
Если вам требуется, чтобы экспортированный файл CSV был закодирован как UTF-8, этот метод поможет вам в этом.
1. В Excel активируйте рабочий лист, данные которого вы сохраните как CSV, и нажмите Файл > Сохранить как > Приложения.
2. В диалоговом окне Сохранить как:
(1) Откройте папку назначения, в которой вы сохраните новый файл;
(2) Назовите файл в Имя файла коробка;
(3) Укажите Текст в Юникоде (*. Txt) из Сохранить как типвыпадающий список e;
(4) Щелкните значок Сохраните кнопка. Смотрите скриншот:
3.Теперь появляются диалоговые окна с предупреждением, что будет сохранен только активный рабочий лист, а некоторые функции будут потеряны. Пожалуйста, нажмите на OK и Да кнопки последовательно.
5. В окне Блокнота нажмите Файл > Сохранить как.
6. В диалоговом окне Сохранить как:
(1) Укажите Сохранить как as Все файлы (*. *);
(2) Измените расширение имени файла на . Csv в Имя файла коробка;
(3) Выберите UTF-8 из Кодирование раскрывающийся список;
(4) Щелкните значок Сохраните кнопку.
Теперь все данные на активном листе экспортируются в виде файла CSV в кодировке UTF-8.
В некоторых случаях вы могли отфильтровать таблицу по определенным критериям и хотите экспортировать только отфильтрованные данные в файл CSV. Например, я отфильтровал все записи о продажах персика из таблицы продаж фруктов, как показано ниже. Теперь я покажу вам, как экспортировать только отфильтрованные записи о продажах персиков в отдельный файл CSV этим методом.
1. Выберите все отфильтрованные записи в таблице и нажмите Ctrl + C ключи вместе, чтобы скопировать их.
2. Создайте новый лист, выберите в нем ячейку A1 и нажмите Ctrl + V ключи вместе, чтобы вставить скопированные записи.
Теперь вы увидите, что на новый лист вставляются только отфильтрованные записи. Смотрите скриншот:
3. Оставайтесь на новом листе и нажмите Файл > Сохранить как > Приложения.
5. Теперь появляются диалоговые окна с предупреждением, что будет сохранен только активный лист, а некоторые функции будут потеряны. Пожалуйста, нажмите на OK и Да кнопки последовательно.
Теперь в новый файл CSV экспортируются только отфильтрованные данные в таблице.
Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Get It Now
1. Выберите диапазон, который вы хотите экспортировать в CSV, и нажмите Kutools Plus > Импорт/Экспорт > Диапазон экспорта в файл, см. снимок экрана:
2. В диалоговом окне «Экспортировать диапазон в файл»:
(1) Проверьте CSV (с разделителями-запятыми) вариант;
(2) Щелкните значок Приложения кнопка указать папку назначения, в которую вы сохраните новый файл CSV;
(3) Необязательно проверять Откройте файл после экспорта. вариант;
(4) Щелкните значок Ok кнопку.
Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Get It Now
3. Во втором диалоговом окне «Диапазон экспорта в файл» введите имя нового файла CSV и нажмите кнопку Ok кнопку.
Теперь все данные в указанной выборке экспортируются в новый файл CSV.
Диапазон экспорта в файл Функция может экспортировать диапазон данных в одну книгу Excel, файл CSV, простой или полностью форматированный файл HTML. Получите его сейчас!
Этот метод рекомендует Kutools для Excel Разделить книгу возможность быстрого экспорта каждого рабочего листа в отдельный файл CVS в несколько кликов.
Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Get It Now
1. Нажмите Kutools Plus > Разделить книгу. Смотрите скриншот:
3. В диалоговом окне «Обзор папки» укажите папку назначения, в которой вы будете сохранять экспортированные файлы CSV, и нажмите кнопку OK кнопку.
И теперь каждый проверенный рабочий лист массово экспортируется в отдельный файл CSV. Смотрите скриншот:
Разделить книгу Функция может сохранять или экспортировать каждый рабочий лист активной книги в книгу Excel, книгу Excel 97-2003 или файл TXT / CSV / PDF отдельно. Получите его сейчас!