Компьютерный мастер - Allcorp66

На самом деле, вопрос не столь уж и тривиален, как может показаться на первый взгляд. Формат CSV , как следует из его названия, подразумевает использование в качестве разделителя символ запятой (,) . Однако, многие программы и сервисы допускают использованием и других символов. К таковым можно отнести и MS Excel, особенно если речь идёт о русифицированной его версии. В данной статье я хочу привести решение проблемы с открытием CSV-файла экспорта из Google инструмента для веб-мастеров в MS Excel. Впрочем, тема актуально и для других вариантов.

  • Проблема экспорта поисковых запросов (ПЗ) из Google вебмастер
    • Проблема с кодировкой
    • Разделитель запятая в CSV
    • То, что помогло
  • Подведём итоги

Проблема экспорта ПЗ из Google вебмастер

Многие из нас используют Google инструмент для веб-мастеров только для добавления сайта. Это неправильно, здесь есть масса полезной информации, например список поисковых запросов, по которым пользователи находят и заходят на сайт. Смотрите отчет: Поисковый трафик > Поисковые запросы - предварительно выбрав нужный сайт в списке.

Здесь же есть и экспорта данных в CSV-формате, с возможностью его открытия в Google Таблицы (онлайн аналог Excel) . Ищите кнопку «Загрузить эту таблицу ». К слову, количество отображаемых запросов на странице не влияет на полноту экспортируемых данных.

Проблема в том, что в CSV-файле используется разделитель запятой и кодировка UTF-8. Так что даже в Google Таблицы, вместо кириллицы, вы получите только набор вопросов.

Другими словами, нам нужно изменить кодировку на ANSI. А для открытия файла CSV в Excel заменить и разделитель запятой (,) на символ точки с запятой (;) .

CSV с разделителем запятая в UTF-8

Проблема с кодировкой

Проще всего решить проблему с кодировкой . Для этого вы можете использовать любой текстовый редактор с этой функцией, например Notepad++. Его вы можете скачать бесплатно на официальном сайте: unotepad-plus-plus.org . Далее запускаем редактор и открываем в нём наш CSV-файл, а потом кликаем пункт меню «Кодировки » и меняем на нужную, т.е. пункт «Преобразовать в ANSI ».

У меня на картинке показан обратный процесс: преобразования из ANSI в UTF-8 - но, думаю, вы это и сами заметилии, а принцип тот же.

Разделитель запятая в CSV

Теперь, что касается разделителя запятой . По сути, для Google Таблиц что-то менять не надо. Да и в англоязычной версии MS Excel это может прокатить, проверьте. Тем не менее, если нужна замена, то здесь следует учесть, что просто заменить запятую (,) на символ точки с запятой (;) не получится, т.к. в файле могут быть значения, содержащие этот символ. Они обычно помещены в кавычки. Например:

значение,1,"значение, с запятой",

По идее здесь должна помочь настройка самой операционной системы Windows: Пуск > Панель управления > Язык и региональные стандарты . На вкладке «Форматы» кликаем кнопку «Изменить этот формат… » В открывшемся окне, на вкладке «Числа» замените «Разделитель элементов списка » на нужный, т.е. символ точки с запятой (;) меняем на запятую (,) .

Правда, у меня это не сработало. Да и менять настройки операционной системы, как по мне, дело не благодатное. Тем не менее, я решил указать этот вариант решения проблемы, т.к. на большинстве специализированных форумов ссылаются именно на него.

То, что помогло

Увы, но какой-то дополнительной обработки файлов с расширением.csv в MS Excel я не нашел. Тем не менее, есть возможность обработки, но только в том случае, если сменить расширение файла, например, на.txt . Так что меняем расширение файла и открываем его в Excel.

Появится окно «Мастер текстов (импорт)». Здесь вы можете выбрать формат исходных данных, начальную строку импорта и кодировку файла (нам нужна 1251: Cyrillic) . К слову, почему нужно было менять кодировку, когда её можно выбрать в мастере? Потому, что кодировки UTF-8, по крайней мере у меня, здесь нету. Кликаем кнопку «Далее ».

На следующем шаге мы можем выбрать символ-разделитель, причем несколько. Ставим галочку «запятая » и убираем галочку «знак табуляции ». Здесь же можно выбрать и символ ограничителя строк. Это тот, что используется для значений, в которых присутствуют спецсимволы (двойные кавычки, запятая, точка с запятой, новая строка и т.д.) . Вариант с двойной кавычкой, в моём случае, это то, что надо. Обратите внимание на поле «Образец разбора данных», данные стали таблицей. Кликаем кнопку «Далее ».

На последнем шаге можно указать формат данных столбцов, правда выбор здесь не велик: общий (по умолчанию) , текстовый, дата и пропустить столбец. Последний вариант представляется мне наиболее интересным, т.к. позволяет сразу исключить ненужные столбцы. Просто выберите соответствующий столбец и кликните для него вариант «пропустить столбец ». Кликаем кнопку «Готово ».

Excel сформирует нужную нам таблицу, где мы можем задать нужную ширину столбцов и формат ячеек, но это уже совсем другая история. Отмечу лишь, что есть проблема с распознанием тех же процентов.

Онлайн сервис для нормализации CSV-файлов

Впрочем, все выше изложенные проблемы решает простой онлайн сервис Normalization CSV . Он позволяет менять кодировку и символ разделителя. Правда существует ограничение в 64 000 байтов (сколько это в Кб?) для загружаемого файла, но CSV-файлы обычно весят не очень много, должно хватить. Результат обработки выводится как обычный текстовый файл, его можно сохранить с расширением.csv .

К слову, скрипт преобразовавает значение процентов, например: 95 % - в нужное значение для столбца «проценты» в Excel, т.е. делится на 100 и получаем число с плавающей запяток, например: 0,95 . Если нужны ещё какие-то преобразования: пишите, попробуем доработать.

Ну, а если предложенный онлайн сервис вас не устраивает, вы всегда можете воспользоваться выше приведённой инструкцией.

Подведём итоги

Некоторые онлайн сервисы предоставляют возможность экспорта данных в просто и удобном CSV-формате. Как следует из названия, подразумевает использование в качестве разделителя символ запятой (,) . Однако, многие приложения трактуют этот формат несколько своевольно, что приводит к закономерным проблемам. К тому же сейчас всё более популярна кодировка UTF-8, в то время как Excel или Google Таблицы используют ANSI.

Решить проблему с кодировкой поможет, к примеру, Notepad++, а для того, чтобы разобраться с разделителем, достаточно изменить расширение файла на.txt и воспользоваться мастером текстов в Excel. Впрочем, все эти задачи способен решить бесплатный онлайн сервис Normalization CSV , правда стоит учесть его ограничение на объём загружаемого файла. На этом у меня всё. Спасибо за внимание. Удачи!

в 19:44 Изменить сообщение 16 комментариев

Министерство образования и науки Российской Федерации

Государственное бюджетное учреждение высшего профессионального образования

Новосибирский государственный технический университет

Кафедра СИТ

Расчетно-графическая работа

по дисциплине

«Сетевые информационные технологии»

Формат данных CSV

Группа: АВТ-909

Выполнил: Гоголи А.Г.

Преподаватель:

Хайретдинов М.С.

Новосибирск, 2013

Задание. 3

1. Введение. 4

2. Общие сведения. 5

3. Структура данных в файле. 6

3.1. Записи. 6

3.2. Поля (столбцы) 6

3.2 Разделители. 7

3.3 Маркер конца записи. 7

4. Запись заголовка. 9

5. Защита поля данных. 9

5.1 Двойные кавычки для защиты.. 9

5.2 Двухместный двойные кавычки. 10

6. Пример реализации. 11

7. Библиотеки для работы с форматом.. 12

8. Тестовая программа. 13

Литература. 14


Задание

1. Изучить и написать обзор формата CSV.

2. Написать обзор имеющихся в сети бесплатно распространяемых библиотек, реализующих чтение/запись данных в указанном формате/языке описания или пересылку данных для указанного протокола или интерфейса I/O и стыкуемых с модулями на С/С++.

3. Написать процедуру чтения данных в указанном формате.

4. Написать процедуру записи данных в указанном формате.

5. Написать функцию приема/передачи данных с использованием указанного протокола или интерфейса I/O.

6. Составить тестовые наборы данных для проверки всех видов элементов данных, используемых в указанном формате.


1. Введение

CSV (от англ. Comma-Separated Values - значения, разделённые запятыми) - текстовый формат, предназначенный для представления табличных данных. Каждая строка файла - это одна строка таблицы. Значения отдельных колонок разделяются разделительным символом (delimiter) -запятой(,).

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


2. Общие сведения

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

Следующие правила применяются для всех файлов CSV:

1 Расширение файла должно быть *.csv независимо от вида маркеров.

Это гарантирует правильное считывание файла вместе с маркерами. Три общих 8-битные кодировки: 1252, ISO / IEC 8859-1 и UTF-8.

3 Кроме маркеров ничего не должно быть записано в кодировке ASCII.

Файл CSV не предназначено для хранения двоичных данных. Это правило запрещает использование большинства управляющих символов ASCII.

4 CSV-файл должен содержать хотя бы одну запись.

CSV файл не должен быть пустым (иметь нулевую длину) или состоять только из логического конца. Минимальное количество записей, которые должен содержать CSV файл, это одна запись - заголовок, за которым может следовать 0 и более записей данных.


3. Структура данных в файле

3.1. Записи.

Запись в CSV файле состоит из двух частей: основные данные с разделителями и маркера конца записи. (рис.1)

Рисунок 1. Структура записей в CSV-файле.

3.2. Поля (столбцы)

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

При фиксированной длине поля относительное местоположение каждого поля внутри записи должно быть фиксировано. Однако, CSV это формат файлов, который позволяет записи переменной длины. Это дает возможность сэкономить значительные пространства по сравнению с форматами фиксированной длины. Для реализации данного подхода используется маркер разделения полезных данных, который указывает на переход от одного поля к другому. Разделителем полей является один символ.

Так же присутствует запись заголовка. Поэтому очень важно, что бы поля в записи следовали в заданном порядке.

На рис.2 показано, где используются символы разделения (SEP) в записи. Вся запись может состоять только из разделителей.

Рисунок 2. Формат записи в CSV-файле.

3.2 Разделители

Хотя имя файла формата Comma-Separated Values - значения, разделённые запятыми предполагает в виде разделителя полей запятую, некоторые приложения используют и другие символы.

Следующие правила применяются для разделителя:

1 Разделитель полей должен быть одним символом.

2 После выбора символа, тот же символ должен использоваться на протяжении всего файла.

3 Производитель приложение должен использовать запятую (ASCII 0x2C) в качестве разделителя полей.

Это правило поднимает один из самых сложных вопросов, с которыми сталкиваются разработчики при реализации кода для обработки файла CSV: разделители, встроенные в полезные данные.

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

Пример таблицы:

В самой первой строке нашей таблицы обязательно использование названий полей для наших товаров. У нас это articul - артикул, name - название товара, price - цена, vendor - производитель, country - страна производства, images - путь к изображению(подробности ниже).

Обязательное поле для создания товаров одно:

  • name - название.

Также существуют основные поля , которые нужны для функционирования товара:

  • price - цена,
  • articul - артикул.

Обязательное поле для синхронизации товаров одно:

  • UniqueKey - уникальный идентификатор товара в системе управления, не заполняйте этот столбец самостоятельно.

Другие поля товаров можно выбрать произвольно из общего количества полей. ( вы можете добавить новые поля для ваших товаров или других объектов.)

Вы можете указывать названия столбцов, чтобы внести или изменить значения:

  • info:url - поле для Подстрока URL;
  • info:name - поле для Название объекта в системе;
  • info:sort - поле для сортировки объектов внутри раздела;
  • info:access - поле для указания прав доступа (например: 7733);
  • info:template - поле для Шаблон вывода, индексы шаблона вывода можно посмотреть ;
  • info:delete - поле для удаления товара, создайте столбец и заполните ячейку товара произвольными данными, чтобы удалить его во всемя импорта.

Список полей товара можно увидеть так, нажать "Параметры" → "Типы объектов" → "Товар".

В нашем редакторе таблица выглядит так:


После того, как таблица заполнена, экспортируйте ее в формат CSV. И сохраните файл, например на рабочем столе.

В формате CSV, если файл открыть с помощью Блокнота, таблица будет выглядеть так:

articul;name;price;vendor;country;images UX31E;ASUS ZENBOOK;44400;Asus;Китай;http://сайт/alboms/3/3/zenbook..jpg HD-8838;Philips Saeco HD 8838;27462;Philips;Россия;http://сайт/alboms/3/3/saeco-hd-8838.jpg HD-8838;Delonghi ECAM 23..jpg

При импорте из CSV вы можете указать:

  • Раздел товара (любой уровень), если раздел не существует, он будет создан;
  • Параметры товара;
  • Путь к изображениям товара (изображения должны находится в одном zip-архиве с файлом CSV);
  • Cпецификаций;
  • Скидки;
  • Размеры.

Требования и возможности:

  • Наименования товаров должны быть разные:
    • Если товар с указанным наименованием уже находится в разделе, он будет пропущен;
    • Если в файле для импорта присутствуют товары с одинаковыми названиями в одном разделе, товарам будут присвоены индексы "Наименование {X}", где {X} - порядковый номер начиная с 1(единицы).
  • Файл CSV в архиве должен быть один и находиться в корне архива;
  • Изображения для выгрузки должны быть запакованы вместе с файлом CSV , кроме изображений с указанием URL;
  • Количество разделов и товаров в CSV не более 5000;
  • Формат CSV не поддерживает переходы строк, поэтому данные или текст внутри ячейки с использованием перехода строки будут неверно интерпретированы;
  • В качестве разделителей в формате CSV используется точка с запятой ";", поэтому использование этого символа в тексте становится невозможным;
  • Общий вес архива не должен превышать 64Мб для тарифов Эконом и Стандарт, 128Мб для тарифов Люкс и Максимум. Во время бесплатного пользования действует ограничение 3Мб.

Совет: Создайте несколько товаров, заполнив все поля, и воспользуйтесь функцией экспорта в формате CSV. Откройте файл в редакторе и вы узнаете какие данные необходимо использовать в ячейках таблицы.

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

Импорт товаров

Перейдите в систему управления сайтом и нажмите правой кнопкой мышки на нужный раздел, как будто вы собираетесь создать один новый товар, затем "Создать" → "Импорт". Появится окно с предложением ввести файл и тип файла. Нажмите "Добавить" и выберите тип файла "CVS". Нажмите "Импортировать".

Если все действия выполнены верно вы увидите, следующее окно.

Синхронизация товаров

Для синхронизации товаров сначала их нужно экспортировать.



Вы скачаете файл примерно такого содержания.


Это файл в формате CSV. Откройте его программой для работы с таблицами (Microsoft Excel, Apple Numbers или OpenOffice Calc). Столбец UniqueKey - содержит уникальный идентификатор товара в системе управления. Вы можете менять все значения товара, кроме этого значений в ячейках столбца UniqueKey .

Если вы очистите ячейку с идентификатором товара - он будет заново создан,
с названием "Копия (N) {Название} ", где {Название} - его название из колонки name , а N - номер копии.

Исправленный файл в формате CSV импортируйте в систему управления, как было описано выше. Товары содержащие запись UniqueKey - обновят свои данные, товары с пустой ячейкой UniqueKey будут созданы.

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

Например, если вы хотели изменить только цену товаров, в файле импорта необходимо оставить только столбцы price и UniqueKey , остальные столбцы нужно удалить(вместе с заголовком столбца, т.е. целиком удалить столбец).

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

Чтобы узнать чем открыть файл CSV формата, следует перейти к списку установленных программ на вашем компьютере. Если там есть MS Excel, почтовый клиент Microsoft Outlook или любой текстовый редактор – загружайте документ в него. Так как офисный пакет Microsoft установлен практически на каждом ПК – софт из него мы назвали в первую очередь. Вы же можете опробовать и другие приложения:

  • Microsoft Works
  • Notepad
  • Corel Quattro Pro
  • IBM Lotus Symphony
  • KSpread
  • LabVIEW

Как открыть файл CSV в Excel

Для того чтобы программа для создания таблиц правильно расшифровала этот документ, следует выполнить одну хитрость: открыть файл в любом текстовом редакторе и написать в первой строке «sep=». Все, теперь приложение опознает разделитель в виде запятой и корректно отобразит содержимое!

Что находится в файле CSV

Это обычный текстовый формат для табличных данных. Каждая строчка – это одна строка в таблице. Значения в отдельных колонках разделяются запятой. Так как это расширение поддерживается многими программами, CSV-файлы можно использовать для импорта или экспорта табличных данных между различными компьютерными приложениями, например электронной таблицей и базой данных.

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

Данные в файле должны быть в кодировке UTF-8.

Примечание.

Данные в примере представлены в кодировке UTF-8.

Для просмотра примера в LibreOffice необходимо сделать импорт текста. При этом выберите кодировку UTF-8, разделитель ― «запятая» , разделитель текста ― « \"(двойные кавычки)» .

Для просмотра примера в Excel сохраненный файл откройте через меню Данные → Получение внешних данных → Из текста . Выберите кодировку UTF-8, разделитель «запятая» , ограничитель строк «\"(двойные кавычки)» .

Описание элементов

Элемент Описание

Обязательный элемент.

Обязательный элемент.

Обязательный элемент.

Дополнение к адресу.

Обязательный элемент.

Обязательный элемент.

Обязательный элемент.

Обязательный элемент.

lon
Элемент Описание

Название филиала. Указывается без кавычек, с учетом регистра.

Обязательный элемент.

Страна. Указывается полностью, без сокращений.

Обязательный элемент.

Полный адрес местонахождения филиала, с точностью до дома.

Обязательный элемент.

Дополнение к адресу.

Номер телефона с кодом страны и населенного пункта. Если номеров несколько, они отделяются друг от друга точкой с запятой (;).

Обязательный элемент.

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

Обязательный элемент.

Основной сайт сети. Указывается в нижнем регистре, полностью, включая http:// или https://.

Обязательный элемент.

Часы работы. Выходные, нерабочие дни не указываются.

Обязательный элемент.

Координата по широте. В качестве разделителя целой и дробной части используется точка.

lon

Координата по долготе. В качестве разделителя целой и дробной части используется точка.

Подготовка файла

Чтобы настроить автоматическое ежедневное обновление данных о ваших филиалах:

    Подготовьте файл в формате CSV. Данные должны быть в кодировке UTF-8.

    Выложите файл на свой сайт по обновляемой ссылке.

    Данные должны быть доступны по протоколу HTTP или HTTPS.

Загрузка файла в интерфейсе

На странице сети перейдите в раздел Филиалы . В блоке Управление филиалами выберите Файл .

Если проверка файла прошла успешно, нажмите кнопку Результаты проверки . В открывшемся окне проверьте изменения в филиалах. На карте может быть показано до 50 филиалов с изменениями. Нажмите Все верно, начать загрузку в базу . Данные из файла пройдут модерацию и будут загружены в базу Справочника. При большом объеме данных загрузка может занять несколько суток.формы . Укажите в сообщении актуальный электронный адрес и телефон вашей организации. Если у нас возникнут вопросы по загруженному файлу, мы свяжемся с вами.

Новые данные появятся на Яндекс.Картах в течение семи дней после загрузки правильно оформленного файла.

Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter
ПОДЕЛИТЬСЯ: