Как хранятся данные в csv
Перейти к содержимому

Как хранятся данные в csv

  • автор:

Создание и изменение 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

Если сведения о контактах хранятся в программе, из которой их невозможно экспортировать, вы можете ввести их вручную.

  1. Создайте новый документ в Excel.
  2. Добавьте заголовок столбца для каждого фрагмента сведений, который вы хотите записать (например, для имени, фамилии, адреса электронной почты, номера телефона и дня рождения), а затем введите данные в соответствующие столбцы.
  3. Когда вы закончите, файл Excel должен выглядеть примерно так:

Образец CSV-файла, открытый в Excel

Сохраните файл Excel в формате CSV.

Скачивание шаблона CSV-файла

Если вы хотите начать с пустого CSV-файла, то можете скачать образец ниже.

После скачивания образца CSV-файла сохраните его на своем компьютере с типом CSV.

    Скачайте этот образец CSV-файла на свой компьютер. При появлении запроса нажмите кнопку Сохранить и сохраните файл на своем компьютере в формате CSV. Если сохранить файл в формате Excel (XLS или XLSM) все данные будет добавлены в один столбец.

Чтобы найти CSV-файл, выберите

  • Откройте Excel на компьютере.
  • В Excel выберите Файл >Открыть и перейдите к CSV-файлу, скачанному на компьютер. Чтобы найти CSV-файл, выберите Все файлы. Щелкните CSV-файл, чтобы открыть его.

    При работе с этим CSV-файлом нужно помнить о нескольких вещах.

    Образец CSV-файла, открытый в Excel

      Для Outlook необходимо, чтобы в первой строке находились заголовки столбцов, поэтому не заменяйте их другими данными.
      Язык заголовков столбцов должен совпадать с языком Outlook, используемым по умолчанию. Например, если в качестве языка Outlook по умолчанию настроен португальский, требуется изменить заголовки столбцов, чтобы они отображались на португальском языке.

    После импорта контактов они выглядят в Outlook в Интернете примерно так.

  • Вы можете удалить данные из строк 2–6 (например, имена, телефонные номера, адреса электронной почты и т. д).
  • Вводить данные во всех столбцах необязательно. Укажите только необходимые сведения.
  • Сохраните файл в формате CSV под другим именем. Если вы работаете с этим файлом в Excel, то при его сохранении получите несколько запросов такого типа: «Вы действительно хотите сохранить файл в формате CSV?» Всегда выбирайте ответ «Да». Если вы выберете «Нет», файл будет сохранен в собственном формате Excel (XLSX) и его нельзя будет использовать для импорта данных в Outlook.
  • Попробуйте импортировать CSV-файл с несколькими контактами, чтобы убедиться в получении правильных результатов. После этого можно удалить импортированные контакты, добавить все нужные контакты в CSV-файл и снова импортировать его. Если вы импортируете данные из образца CSV-файла, вот как это будет выглядеть в Outlook в Интернете для Microsoft 365:

    Изменение CSV-файла с контактами, которые нужно импортировать в Outlook

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

    При изменении CSV-файла учитывайте перечисленные ниже моменты.

    • Заголовки столбцов должны оставаться в первой строке.
    • При сохранении файла в Excel несколько раз появятся запросы такого типа: «Вы действительно хотите сохранить файл в формате CSV?» Всегда выбирайте ответ «Да». Если вы выберете «Нет», файл будет сохранен в собственном формате Excel (XLSX) и его нельзя будет использовать для импорта в Outlook.

    Проблема: все данные выводятся в первом столбце

    Пример CSV-файла, сохраненного в формате XLS.

    Это могло произойти по нескольким причинам, поэтому можно попробовать несколько решений.

    • Если вы сохраните 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 1

    Каждая строка — это отдельная строка таблицы, а столбцы отделены один от другого специальными символами — разделителями (например, запятой).

    В последнее время разделителем может быть не только запятая, но и другие символы (пробел, точка с запятой, табуляция, другое).

    Пример файла CSV- формата:

    CSV 2

    После преобразования в табличный вид будет выглядеть так:

    CSV 3

    Теперь рассмотрим три способа преобразования CSV формата в «табличное» представление.

    Зайдем в модуль Ученики, выделим несколько учеников установив флажок напротив необходимой записи зайдем в Действие и выберем Экспортировать.

    CSV 4

    Получим файл с расширением csv.

    Открыв его в excel, мы увидим не очень «дружелюбное» представление информации

    CSV 5

    Выделяем весь первый столбец, переходим во вкладку «Данные» и выберем пункт «Текст по столбцам»

    CSV 6

    Далее проходим три шага согласно подсказкам.

    CSV 7

    Выбираем знак табуляции

    CSV 8

    На третьем шаге, вы сможете для каждого столбца выбрать необхоимый формат.

    CSV 9

    После нажатия кнопки «Готово», получаем «читабельный табличный» формат файла.

    CSV 10

    Можем воспользоваться таким свободным и открытым офисным пакетом как Apache OpenOffice (Не реклама).

    Для этого необходимо открыть файл CSV формата с помощью OpenOffice.

    CSV 11

    При открытии файла, OpenOffice, предложит импортировать текст в «читаемый табличный» вид.

    В «Параметры разделителя» выбираем несколько вариантов (табуляция, точка с запятой, запятая…) и нажимаем кнопку «Ок». Файл будет преобразован в «табличный» вид.

    И еще один вариант преобразования, это открыть файл в любом текстовом редакторе

    CSV 12

    например в Блокноте. Первой строкой прописываем «sep=»

    CSV 13

    и сохраняем файл.

    Теперь открыв файл в excel

    CSV 14

    получаем «читабельный текстовый» формат файла.

    Хранение данных: 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 не нужно создавать новый воркбук и принудительно запускать импорт, все само

    1. Кодировка — как в файле.
    2. «Разделитель» — точка с запятой. Естественно, если в файле разделителем выступает именно она.
    3. «Разделитель текста» — пустой (все то же, что в Excel).
    4. В разделе «Поля» кликаю в левый-верхний квадрат таблицы, подсвечиваются все колонки. Указываю тип «Текст».

    Помимо Calc у нас в HFLabs популярен libreOffice, особенно под «Линуксом». И то, и другое для CSV применяют активнее, чем Excel.

    Бонус-трек: проблемы при сохранении из Calc в .xlsx

    Если сохраняете данные из Calc в экселевский формат .xlsx, имейте в виду — OO порой необъяснимо и масштабно теряет данные.

    Белая пустошь, раскинувшаяся посередине, в оригинальном CSV-файле богато заполнена данными

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

    Если что-то потерялись, лечение — пересохранить из CSV в .xlsx. Или, если установлен Windows, импортнуть из CSV в Excel и сохранить оттуда.

    После пересохранения обязательно еще раз проверяю, что все данные на месте и нет лишних пустых строк.

    Если интересно работать с данными, посмотрите на наши вакансии. HFLabs почти всегда нужны аналитики, тестировщики, инженеры по внедрению, разработчики. Данными обеспечим так, что мало не покажется 🙂

    • Блог компании HFLabs
    • Информационная безопасность
    • IT-стандарты
    • Хранение данных
    • Софт
  • Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *