Создание и изменение CSV-файлов для импорта в Outlook
CSV-файлы (файлы данных с разделителями-запятыми) — это файлы особого типа, которые можно создавать и редактировать в Excel. В CSV-файлах данные хранятся не в столбцах, а разделенные запятыми. Текст и числа, сохраненные в CSV-файле, можно легко переносить из одной программы в другую. Например, вы можете экспортировать контакты из Google в CSV-файл, а затем импортировать их в Outlook.
Сведения о том, как импортировать список записей календаря в Outlook, см. в статье Импорт и экспорт электронной почты, контактов и календаря Outlook.
Создание CSV-файла из другой программы или службы электронной почты другого поставщика
При экспорте контактов из другой программы, например Gmail, обычно можно выбрать один из нескольких форматов. В Gmail на выбор предлагаются CSV-файл Google, CSV-файл Outlook и файлы vCard. При экспорте данных из профиля Outlook для последующего импорта в другой профиль можно выбрать CSV-файл или файл данных Outlook (PST).
Скачивание и открытие образца CSV-файла для импорта контактов в Outlook
Вы можете создать CSV-файл вручную одним из двух способов.
Создание файла Excel и его сохранение в формате CSV
Если сведения о контактах хранятся в программе, из которой их невозможно экспортировать, вы можете ввести их вручную.
- Создайте новый документ в Excel.
- Добавьте заголовок столбца для каждого фрагмента сведений, который вы хотите записать (например, для имени, фамилии, адреса электронной почты, номера телефона и дня рождения), а затем введите данные в соответствующие столбцы.
- Когда вы закончите, файл Excel должен выглядеть примерно так:
Скачивание шаблона CSV-файла
Если вы хотите начать с пустого CSV-файла, то можете скачать образец ниже.
-
Скачайте этот образец CSV-файла на свой компьютер. При появлении запроса нажмите кнопку Сохранить и сохраните файл на своем компьютере в формате CSV. Если сохранить файл в формате Excel (XLS или XLSM) все данные будет добавлены в один столбец.
При работе с этим CSV-файлом нужно помнить о нескольких вещах.
-
Для Outlook необходимо, чтобы в первой строке находились заголовки столбцов, поэтому не заменяйте их другими данными.
Язык заголовков столбцов должен совпадать с языком Outlook, используемым по умолчанию. Например, если в качестве языка Outlook по умолчанию настроен португальский, требуется изменить заголовки столбцов, чтобы они отображались на португальском языке.
Изменение CSV-файла с контактами, которые нужно импортировать в Outlook
Предположим, вы хотите изменить CSV-файл, экспортированный из Outlook, а затем снова импортировать его в это приложение или другую почтовую службу. Вы можете легко сделать это с помощью Excel.
При изменении CSV-файла учитывайте перечисленные ниже моменты.
- Заголовки столбцов должны оставаться в первой строке.
- При сохранении файла в Excel несколько раз появятся запросы такого типа: «Вы действительно хотите сохранить файл в формате CSV?» Всегда выбирайте ответ «Да». Если вы выберете «Нет», файл будет сохранен в собственном формате Excel (XLSX) и его нельзя будет использовать для импорта в Outlook.
Проблема: все данные выводятся в первом столбце
Это могло произойти по нескольким причинам, поэтому можно попробовать несколько решений.
- Если вы сохраните CSV-файл в другом формате, например XLS, XLSX или XLM, все данные будут отображаться в первом столбце. Вернитесь к исходному CSV-файлу и сохраните его в формате CSV.
- Возможно, программа, в которой был создан CSV-файл, добавляет к данным дополнительные кавычки, из-за чего Excel считает их одной строкой. Предположим, например, что у вас такие данные: a, b, c, d — Excel поместит каждую букву в отдельный столбец. «a, b, c, d», e — Excel поместит a, b, c, d в один столбец, а e — в другой. Чтобы проверить, не в этом ли проблема, откройте файл в Блокноте: Щелкните CSV-файл правой кнопкой мыши, выберите Открыть с помощью >Блокнот. Выполните поиск дополнительных кавычек. Если они есть, вот как можно исправить файл:
- Откройте CSV-файл в Excel. Все данные будут добавлены в столбец A без кавычек.
- С помощью мастера распределения текста по столбцам разделите данные столбца A на отдельные столбцы: в строке меню выберите Данные >Текст по столбцам.
Что такое CSV файл и как его преобразовать в Excel
Каждая строка — это отдельная строка таблицы, а столбцы отделены один от другого специальными символами — разделителями (например, запятой).
В последнее время разделителем может быть не только запятая, но и другие символы (пробел, точка с запятой, табуляция, другое).
Пример файла CSV- формата:
После преобразования в табличный вид будет выглядеть так:
Теперь рассмотрим три способа преобразования CSV формата в «табличное» представление.
Зайдем в модуль Ученики, выделим несколько учеников установив флажок напротив необходимой записи зайдем в Действие и выберем Экспортировать.
Получим файл с расширением csv.
Открыв его в excel, мы увидим не очень «дружелюбное» представление информации
Выделяем весь первый столбец, переходим во вкладку «Данные» и выберем пункт «Текст по столбцам»
Далее проходим три шага согласно подсказкам.
Выбираем знак табуляции
На третьем шаге, вы сможете для каждого столбца выбрать необхоимый формат.
После нажатия кнопки «Готово», получаем «читабельный табличный» формат файла.
Можем воспользоваться таким свободным и открытым офисным пакетом как Apache OpenOffice (Не реклама).
Для этого необходимо открыть файл CSV формата с помощью OpenOffice.
При открытии файла, OpenOffice, предложит импортировать текст в «читаемый табличный» вид.
В «Параметры разделителя» выбираем несколько вариантов (табуляция, точка с запятой, запятая…) и нажимаем кнопку «Ок». Файл будет преобразован в «табличный» вид.
И еще один вариант преобразования, это открыть файл в любом текстовом редакторе
например в Блокноте. Первой строкой прописываем «sep=»
и сохраняем файл.
Теперь открыв файл в excel
получаем «читабельный текстовый» формат файла.
Хранение данных: CSV или БД?
Все данные (прайсы) клиент закачивает через csv , я сохраняю этот файл, и каждый раз, когда нужно – выдаю его. Почему так? Т.к. в каждом прайсе своя структура. Файлы очень большие, по 200К, а иногда и по 1-2М строк. Нормальна ли практика хранить данные в csv-файлах, или лучше использовать для таких целей БД? Что с БД, что с csv, php необходим memory_limit в 1024 – иначе белый экран.
Отслеживать
68.2k 225 225 золотых знаков 80 80 серебряных знаков 223 223 бронзовых знака
задан 26 авг 2015 в 16:03
886 14 14 серебряных знаков 36 36 бронзовых знаков
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Для начала следует разделить понятия хранения и обмена данными.
Для хранения разумнее всего использовать БД, хотя бы потому, что у нас есть язык SQL и мы можем создавать при помощи него гибкие запросы.
А вот для обмена данными (выгрузок, отчётов, сигнальных сообщений и пр.), формат CSV подходит просто замечательно. Помимо CSV есть еще и tab-delimited text и еще несколько, менее распространённых форматов.
Надо сказать, что все они появились в эпоху «до XML» (и тем более «до JSON»), но великолепно себя зарекомендовали во всяких интеграционных решениях и обмене данными между разнородными системами. Короче говоря, эти форматы как Windows XP — вроде старенькая, а люди ее любят и пользуются.
В приведённом кейсе, клиент с большой вероятностью хранит данные в реляционной СУБД, а для вас попросту делает выгрузку цен. Это обычная практика.
Большинство современных СУБД содержат инструменты (tools) для операций импорта/экспорта данных их plain-text форматов. Некоторые из них интуитивно понятны и удобны в использовании, другие (например SQL Server Import and Export Wizard и традиционно вся линейка продуктов Microsoft) требуют танцев с бубнами и некоторых усилий.
Ну а любой высокоуровневый ЯП обладает полным набором средств, чтобы написать собственные конвертеры и парсеры CSV/Tab-delimited файлов. Благо классов и надстроек в Сети полным-полно.
Редактируем CSV-файлы, чтобы не сломать данные
Продукты HFLabs в промышленных объемах обрабатывают данные: адреса, ФИО, реквизиты компаний и еще вагон всего. Естественно, тестировщики ежедневно с этими данными имеют дело: обновляют тест-кейсы, изучают результаты очистки. Часто заказчики дают «живую» базу, чтобы тестировщик настроил сервис под нее.
Первое, чему мы учим новых QA — сохранять данные в первозданном виде. Все по заветам: «Не навреди». В статье я расскажу, как аккуратно работать с CSV-файлами в Excel и Open Office. Советы помогут ничего не испортить, сохранить информацию после редактирования и в целом чувствовать себя увереннее.
Материал базовый, профессионалы совершенно точно заскучают.
Что такое CSV-файлы
Формат CSV используют, чтобы хранить таблицы в текстовых файлах. Данные очень часто упаковывают именно в таблицы, поэтому CSV-файлы очень популярны.
CSV-файл состоит из строк с данными и разделителей, которые обозначают границы столбцов
CSV расшифровывается как comma-separated values — «значения, разделенные запятыми». Но пусть название вас не обманет: разделителями столбцов в CSV-файле могут служить и точки с запятой, и знаки табуляции. Это все равно будет CSV-файл.
У CSV куча плюсов перед тем же форматом Excel: текстовые файлы просты как пуговица, открываются быстро, читаются на любом устройстве и в любой среде без дополнительных инструментов.
Из-за своих преимуществ CSV — сверхпопулярный формат обмена данными, хотя ему уже лет 40. CSV используют прикладные промышленные программы, в него выгружают данные из баз.
Одна беда — текстового редактора для работы с CSV мало. Еще ничего, если таблица простая: в первом поле ID одной длины, во втором дата одного формата, а в третьем какой-нибудь адрес. Но когда поля разной длины и их больше трех, начинаются мучения.
Следить за разделителями и столбцами — глаза сломаешь
Еще хуже с анализом данных — попробуй «Блокнотом» хотя бы сложить все числа в столбце. Я уж не говорю о красивых графиках.
Поэтому CSV-файлы анализируют и редактируют в Excel и аналогах: Open Office, LibreOffice и прочих.
Ветеранам, которые все же дочитали: ребята, мы знаем об анализе непосредственно в БД c помощью SQL, знаем о Tableau и Talend Open Studio. Это статья для начинающих, а на базовом уровне и небольшом объеме данных Excel с аналогами хватает.
Как Excel портит данные: из классики
Все бы ничего, но Excel, едва открыв CSV-файл, начинает свои лукавые выкрутасы. Он без спроса меняет данные так, что те приходят в негодность. Причем делает это совершенно незаметно. Из-за этого в свое время мы схватили ворох проблем.
Большинство казусов связано с тем, что программа без спроса преобразует строки с набором цифр в числа.
Округляет. Например, в исходной ячейке два телефона хранятся через запятую без пробелов: «5235834,5235835». Что сделает Excel? Лихо превратит номера́ в одно число и округлит до двух цифр после запятой: «5235834,52». Так мы потеряем второй телефон.
Приводит к экспоненциальной форме. Excel заботливо преобразует «123456789012345» в число «1,2E+15». Исходное значение потеряем напрочь.
Проблема актуальна для длинных, символов по пятнадцать, цифровых строк. Например, КЛАДР-кодов (это такой государственный идентификатор адресного объекта: го́рода, у́лицы, до́ма).
Удаляет лидирующие плюсы. Excel считает, что плюс в начале строки с цифрами — совершенно лишний символ. Мол, и так ясно, что число положительное, коль перед ним не стоит минус. Поэтому лидирующий плюс в номере «+74955235834» будет отброшен за ненадобностью — получится «74955235834». (В реальности номер пострадает еще сильнее, но для наглядности обойдусь плюсом).
Потеря плюса критична, например, если данные пойдут в стороннюю систему, а та при импорте жестко проверяет формат.
Разбивает по три цифры. Цифровую строку длиннее трех символов Excel, добрая душа, аккуратно разберет. Например, «8 495 5235834» превратит в «84 955 235 834».
Форматирование важно как минимум для телефонных номеров: пробелы отделяют коды страны и города от остального номера и друг от друга. Excel запросто нарушает правильное членение телефона.
Удаляет лидирующие нули. Строку «00523446» Excel превратит в «523446».
А в ИНН, например, первые две цифры — это код региона. Для Республики Алтай он начинается с нуля — «04». Без нуля смысл номера исказится, а проверку формата ИНН вообще не пройдет.
Меняет даты под локальные настройки. Excel с удовольствием исправит номер дома «1/2» на «01.фев». Потому что Windows подсказал, что в таком виде вам удобнее считывать даты.
Побеждаем порчу данных правильным импортом
Если серьезно, в бедах виноват не Excel целиком, а неочевидный способ импорта данных в программу.
По умолчанию Excel применяет к данным в загруженном CSV-файле тип «General» — общий. Из-за него программа распознает цифровые строки как числа. Такой порядок можно победить, используя встроенный инструмент импорта.
Запускаю встроенный в Excel механизм импорта. В меню это «Data → Get External Data → From Text».
Выбираю CSV-файл с данными, открывается диалог. В диалоге кликаю на тип файла Delimited (с разделителями). Кодировка — та, что в файле, обычно определяется автоматом. Если первая строка файла — шапка, отмечаю «My Data Has Headers».
Перехожу ко второму шагу диалога. Выбираю разделитель полей (обычно это точка с запятой — semicolon). Отключаю «Treat consecutive delimiters as one», а «Text qualifier» выставляю в «». (Text qualifier — это символ начала и конца текста. Если разделитель в CSV — запятая, то text qualifier нужен, чтобы отличать запятые внутри текста от запятых-разделителей.)
На третьем шаге выбираю формат полей, ради него все и затевалось. Для всех столбцов выставляю тип «Text». Кстати, если кликнуть на первую колонку, зажать шифт и кликнуть на последнюю, выделятся сразу все столбцы. Удобно.
Дальше Excel спросит, куда вставлять данные из CSV — можно просто нажать «OK», и данные появятся в открытом листе.
Перед импортом придется создать в Excel новый workbook
Но! Если я планирую добавлять данные в CSV через Excel, придется сделать еще кое-что.
После импорта нужно принудительно привести все-все ячейки на листе к формату «Text». Иначе новые поля приобретут все тот же тип «General».
- Нажимаю два раза Ctrl+A, Excel выбирает все ячейки на листе;
- кликаю правой кнопкой мыши;
- выбираю в контекстном меню «Format Cells»;
- в открывшемся диалоге выбираю слева тип данных «Text».
Чтобы выделить все ячейки, нужно нажать Ctrl+A два раза. Именно два, это не шутка, попробуйте
После этого, если повезет, Excel оставит исходные данные в покое. Но это не самая твердая гарантия, поэтому мы после сохранения обязательно проверяем файл через текстовый просмотрщик.
Альтернатива: Open Office Calc
Для работы с CSV-файлами я использую именно Calc. Он не то чтобы совсем не считает цифровые данные строками, но хотя бы не применяет к ним переформатирование в соответствии с региональными настройками Windows. Да и импорт попроще.
Конечно, понадобится пакет Open Office (OO). При установке он предложит переназначить на себя файлы MS Office. Не рекомендую: хоть OO достаточно функционален, он не до конца понимает хитрое микрософтовское форматирование документов.
А вот назначить OO программой по умолчанию для CSV-файлов — вполне разумно. Сделать это можно после установки пакета.
Итак, запускаем импорт данных из CSV. После двойного клика на файле Open Office показывает диалог.
Заметьте, в OO не нужно создавать новый воркбук и принудительно запускать импорт, все само
- Кодировка — как в файле.
- «Разделитель» — точка с запятой. Естественно, если в файле разделителем выступает именно она.
- «Разделитель текста» — пустой (все то же, что в Excel).
- В разделе «Поля» кликаю в левый-верхний квадрат таблицы, подсвечиваются все колонки. Указываю тип «Текст».
Помимо Calc у нас в HFLabs популярен libreOffice, особенно под «Линуксом». И то, и другое для CSV применяют активнее, чем Excel.
Бонус-трек: проблемы при сохранении из Calc в .xlsx
Если сохраняете данные из Calc в экселевский формат .xlsx, имейте в виду — OO порой необъяснимо и масштабно теряет данные.
Белая пустошь, раскинувшаяся посередине, в оригинальном CSV-файле богато заполнена данными
Поэтому после сохранения я еще раз открываю файл и убеждаюсь, что данные на месте.
Если что-то потерялись, лечение — пересохранить из CSV в .xlsx. Или, если установлен Windows, импортнуть из CSV в Excel и сохранить оттуда.
После пересохранения обязательно еще раз проверяю, что все данные на месте и нет лишних пустых строк.
Если интересно работать с данными, посмотрите на наши вакансии. HFLabs почти всегда нужны аналитики, тестировщики, инженеры по внедрению, разработчики. Данными обеспечим так, что мало не покажется 🙂
- Блог компании HFLabs
- Информационная безопасность
- IT-стандарты
- Хранение данных
- Софт