Чтение и запись csv файлов в python
Содержание:
- Запись¶
- Как структурированы csv файлы
- Способ 1. Загрузка CSV с многострочными полями
- Как преобразовать файл Excel в CSV
- Как открыть формат CSV на смартфоне
- Модули для чтения и записи
- Резюме файла CSV
- Writer Objects¶
- Reader Objects¶
- Способ 5. fastCSV
- Чтение файла CSV
- Устранение неполадок
- Другие способы преобразования файлов Excel в CSV
- Чтение формата CSV и получение любой ячейки таблицы с помощью iMacros и Javascript
- Импорт элементов конфигурации из CSV-файла
- Стандартизация
Запись¶
Аналогичным образом с помощью модуля csv можно и записать файл в формате
CSV (файл csv_write.py):
import csv data = , 'sw1', 'Cisco', '3750', 'London, Best str'], 'sw2', 'Cisco', '3850', 'Liverpool, Better str'], 'sw3', 'Cisco', '3650', 'Liverpool, Better str'], 'sw4', 'Cisco', '3650', 'London, Best str']] with open('sw_data_new.csv', 'w') as f writer = csv.writer(f) for row in data writer.writerow(row) with open('sw_data_new.csv') as f print(f.read())
В примере выше строки из списка сначала записываются в файл, а затем
содержимое файла выводится на стандартный поток вывода.
Вывод будет таким:
$ python csv_write.py hostname,vendor,model,location sw1,Cisco,3750,"London, Best str" sw2,Cisco,3850,"Liverpool, Better str" sw3,Cisco,3650,"Liverpool, Better str" sw4,Cisco,3650,"London, Best str"
Обратите внимание на интересную особенность: строки в последнем столбце
взяты в кавычки, а остальные значения — нет. Так получилось из-за того, что во всех строках последнего столбца есть
запятая
И кавычки указывают на то, что именно является целой строкой.
Когда запятая находится в кавычках, модуль csv не воспринимает её как
разделитель
Так получилось из-за того, что во всех строках последнего столбца есть
запятая. И кавычки указывают на то, что именно является целой строкой.
Когда запятая находится в кавычках, модуль csv не воспринимает её как
разделитель.
Иногда лучше, чтобы все строки были в кавычках. Конечно, в данном случае
достаточно простой пример, но когда в строках больше значений, то
кавычки позволяют указать, где начинается и заканчивается значение.
Модуль csv позволяет управлять этим. Для того, чтобы все строки
записывались в CSV-файл с кавычками, надо изменить скрипт таким образом
(файл csv_write_quoting.py):
import csv data = , 'sw1', 'Cisco', '3750', 'London, Best str'], 'sw2', 'Cisco', '3850', 'Liverpool, Better str'], 'sw3', 'Cisco', '3650', 'Liverpool, Better str'], 'sw4', 'Cisco', '3650', 'London, Best str']] with open('sw_data_new.csv', 'w') as f writer = csv.writer(f, quoting=csv.QUOTE_NONNUMERIC) for row in data writer.writerow(row) with open('sw_data_new.csv') as f print(f.read())
Теперь вывод будет таким:
$ python csv_write_quoting.py "hostname","vendor","model","location" "sw1","Cisco","3750","London, Best str" "sw2","Cisco","3850","Liverpool, Better str" "sw3","Cisco","3650","Liverpool, Better str" "sw4","Cisco","3650","London, Best str"
Теперь все значения с кавычками. И поскольку номер модели задан как
строка в изначальном списке, тут он тоже в кавычках.
Кроме метода writerow, поддерживается метод writerows. Ему можно
передать любой итерируемый объект.
Например, предыдущий пример можно записать таким образом (файл
csv_writerows.py):
import csv data = , 'sw1', 'Cisco', '3750', 'London, Best str'], 'sw2', 'Cisco', '3850', 'Liverpool, Better str'], 'sw3', 'Cisco', '3650', 'Liverpool, Better str'], 'sw4', 'Cisco', '3650', 'London, Best str']] with open('sw_data_new.csv', 'w') as f writer = csv.writer(f, quoting=csv.QUOTE_NONNUMERIC) writer.writerows(data) with open('sw_data_new.csv') as f print(f.read())
Как структурированы csv файлы
Шаблоны CSV или файлы данных можно загрузить по ссылкам в верхней части инструмента «Загрузить данные». Первая строка шаблона или файла данных содержит заголовки столбцов. Каждая последующая строка соответствует записи в базе данных. Когда загружается шаблон CSV, он содержит только заголовки столбцов. Поскольку шаблоны используются для добавления новых записей, новые строки будут добавляться для каждой записи.
Когда документ данных CSV загружается, первая строка содержит заголовок столбца, а последующие строки содержат записи данных, которые уже существуют в базе данных. Записи в этих строках можно редактировать или удалять.
В документе CSV каждая строка содержит упорядоченную последовательность заголовков столбцов или значений, разделенных запятыми. Запятые используются для сохранения файловой структуры. Каждая запятая в первой строке (которая содержит заголовки столбцов) разделяет заголовок столбца и место в упорядоченной последовательности столбцов.
Запятые в последующих строках также поддерживают последовательность упорядоченных столбцов, поэтому первое значение в каждой последующей строке представляет значение в первом столбце, второе значение в каждой последующей строке представляет значение во втором столбце и так далее. В отличие от стандартной пунктуации предложений, после запятой не ставится пробел.
Большинство значений заключено в двойные кавычки. Исключением является односимвольное значение, например 1 или 0 (ноль). Заключение значения в двойные кавычки позволяет использовать в поле сложные значения, например, содержащие запятые, без нарушения структуры документа. Например, поле, содержащее ряд элементов, например избранные цвета, может иметь такое значение:
“красный, зеленый и синий”
Вы не будете знать об этих цитатах при просмотре файла данных в приложении для работы с электронными таблицами, но они появляются, когда file просматривается в текстовом редакторе.
Способ 1. Загрузка CSV с многострочными полями
Для начала хотелось бы рассказать о том, в чем преимущество ImportExportDataSql перед стандартными способами загрузки CSV в SQL Server (утилита bcp или операция BULK INSERT).
-
загрузка больших CSV файлов блоками (1 блок = 1 транзакция = N строк, где N указывает сам пользователь)
-
загружать CSV/Excel файлы с возможностью настройки полей, а также с ограничением количества обрабатываемых строк (удобно при отладке)
-
поля в заголовке не привязаны к порядковому номеру, например: файлы с заголовками «Фамилия;Имя;Отчество» и «Имя;Отчество;Фамилия» будут обработаны одинаково, независимо от порядка полей. В «bcp» это можно реализовать только с использованием файлов форматирования, а в BULK INSERT нельзя менять последовательность полей
-
загружать несколько CSV файлов в БД из одной папки, используя маску файлов
-
автоматическое создание таблицы, если её не существует, в том числе во временные глобальные таблицы (рассмотрим в примере ниже). Таблица создается в режиме «Простой импорт», в остальных режимах таблица не создается.
-
поддерживается обработка varbinary полей
-
возможность добавлять свои поля, которых нет в CSV файле с помощью встроенных функций
-
фильтр полей в режиме «Поиск по заголовку»
Список встроенных функций обработки CSV в ImportExportDataSql
-
NEWID — генерация GUID значения
-
ROWNUM — порядковый номер записи
-
EXCELROWNUM — номер строки в CSV/Excel файле
-
FILENAME — имя обрабатываемого файла
В качестве примера, будем использовать текстовый файл с именем multiline.csv, со следующим содержимым:
Как преобразовать файл Excel в CSV
Если требуется экспортировать файл Excel в какое-либо другое приложение, например, в адресную книгу Outlook или в базу данных Access, предварительно преобразуйте лист Excel в файл CSV, а затем импортируйте файл .csv в другое приложение. Ниже дано пошаговое руководство, как экспортировать рабочую книгу Excel в формат CSV при помощи инструмента Excel – «Сохранить как».
- В рабочей книге Excel откройте вкладку Файл (File) и нажмите Сохранить как (Save as). Кроме этого, диалоговое окно Сохранение документа (Save as) можно открыть, нажав клавишу F12.
- В поле Тип файла (Save as type) выберите CSV (разделители – запятые) (CSV (Comma delimited)).Кроме CSV (разделители – запятые), доступны несколько других вариантов формата CSV:
- CSV (разделители – запятые) (CSV (Comma delimited)). Этот формат хранит данные Excel, как текстовый файл с разделителями запятыми, и может быть использован в другом приложении Windows и в другой версии операционной системы Windows.
- CSV (Macintosh). Этот формат сохраняет книгу Excel, как файл с разделителями запятыми для использования в операционной системе Mac.
- CSV (MS-DOS). Сохраняет книгу Excel, как файл с разделителями запятыми для использования в операционной системе MS-DOS.
- Текст Юникод (Unicode Text (*txt)). Этот стандарт поддерживается почти во всех существующих операционных системах, в том числе в Windows, Macintosh, Linux и Solaris Unix. Он поддерживает символы почти всех современных и даже некоторых древних языков. Поэтому, если книга Excel содержит данные на иностранных языках, то рекомендую сначала сохранить её в формате Текст Юникод (Unicode Text (*txt)), а затем преобразовать в CSV, как описано далее в разделе .
Замечание: Все упомянутые форматы сохраняют только активный лист Excel.
- Выберите папку для сохранения файла в формате CSV и нажмите Сохранить (Save).После нажатия Сохранить (Save) появятся два диалоговых окна. Не переживайте, эти сообщения не говорят об ошибке, так и должно быть.
- Первое диалоговое окно напоминает о том, что В файле выбранного типа может быть сохранён только текущий лист (The selected file type does not support workbooks that contain multiple sheets). Чтобы сохранить только текущий лист, достаточно нажать ОК.Если нужно сохранить все листы книги, то нажмите Отмена (Cancel) и сохраните все листы книги по-отдельности с соответствующими именами файлов, или можете выбрать для сохранения другой тип файла, поддерживающий несколько страниц.
- После нажатия ОК в первом диалоговом окне, появится второе, предупреждающее о том, что некоторые возможности станут недоступны, так как не поддерживаются форматом CSV. Так и должно быть, поэтому просто жмите Да (Yes).
Вот так рабочий лист Excel можно сохранить как файл CSV. Быстро и просто, и вряд ли тут могут возникнуть какие-либо трудности.
Как открыть формат CSV на смартфоне
Подобные таблицы можно вполне успешно просматривать и на смартфонах под управлением Android или iOS. Рассмотрим, чем открыть CSV на телефоне — предложим пару наиболее популярных приложений.
CSV Viewer
CSV Viewer – бесплатный CSV-reader, поддерживающий различные типы разделителей (запятые, пробелы, табуляции и т. д.). Можно добавлять CSV файлы из встроенного хранилища смартфона, а также загружать объекты из облачных дисков.
Работает так:
- Разрешите приложению получить доступ к хранилищу. Выберите искомый объект среди обнаруженных.
- Просматривайте содержимое. Для включения фильтров и изменения некоторых параметров отображения используйте панель инструментов, расположенную в нижней части экрана.
Documento Office
Documento Office – платный офисный пакет, с помощью которого можно открывать документы и таблицы. Находится на стадии активной разработки, заявленные нововведения постепенно добавляются.
Развернуть файл CSV можно по следующей инструкции:
- Согласитесь с условиями использования, найдите необходимый объект через встроенный проводник.
- Просматривайте таблицу, изменяя масштаб. Если нужен редактор CSV, придётся отказаться от этого инструмента.
Никаких дополнительных функций в приложении нет. Не стоит платить за этот вариант, если другие его возможности вас не интересуют.
Модули для чтения и записи
Модуль CSV имеет несколько функций и классов, доступных для чтения и записи CSV, и они включают в себя:
- функция csv.reader
- функция csv.writer
- класс csv.Dictwriter
- класс csv.DictReader
csv.reader
Модуль csv.reader принимает следующие параметры:
- : обычно это объект, который поддерживает протокол итератора и обычно возвращает строку каждый раз, когда вызывается его метод .
- : необязательный параметр, используемый для определения набора параметров, специфичных для определенного диалекта CSV.
- : необязательный параметр, который можно использовать для переопределения существующих параметров форматирования.
Вот пример того, как использовать модуль csv.reader.
модуль csv.writer
Этот модуль похож на модуль csv.reader и используется для записи данных в CSV. Требуется три параметра:
- : это может быть любой объект с методом .
- : необязательный параметр, используемый для определения набора параметров, специфичных для конкретного CSV.
- : необязательный параметр, который можно использовать для переопределения существующих параметров форматирования.
Резюме файла CSV
Расширение файла CSV включает в себя один основных типов файлов и его можно открыть с помощью Microsoft Excel (разработчик — Microsoft Corporation). В общей сложности с этим форматом связано всего одиннадцать программное (-ых) обеспечение (-я). Чаще всего они имеют тип формата Comma Separated Values File.
Чаще всего файлы CSV классифицируют, как Data Files.
Просматривать файлы CSV можно с помощью операционных систем Windows, Mac и iOS. Они обычно находятся на настольных компьютерах (и ряде мобильных устройств) и позволяют просматривать и иногда редактировать эти файлы.
Рейтинг популярности файлов CSV составляет «Низкий». Это означает, что они не часто встречаются на большинстве устройств.
Writer Objects¶
objects ( instances and objects returned by
the function) have the following public methods. A row must be
an iterable of strings or numbers for objects and a dictionary
mapping fieldnames to strings or numbers (by passing them through
first) for objects. Note that complex numbers are written
out surrounded by parens. This may cause some problems for other programs which
read CSV files (assuming they support complex numbers at all).
- (row)
-
Write the row parameter to the writer’s file object, formatted according
to the current . Return the return value of the call to the
write method of the underlying file object.Changed in version 3.5: Added support of arbitrary iterables.
- (rows)
-
Write all elements in rows (an iterable of row objects as described
above) to the writer’s file object, formatted according to the current
dialect.
Writer objects have the following public attribute:
-
A read-only description of the dialect in use by the writer.
DictWriter objects have the following public method:
Reader Objects¶
Reader objects ( instances and objects returned by the
function) have the following public methods:
- ()
-
Return the next row of the reader’s iterable object as a list (if the object
was returned from ) or a dict (if it is a
instance), parsed according to the current . Usually you
should call this as .
Reader objects have the following public attributes:
-
A read-only description of the dialect in use by the parser.
-
The number of lines read from the source iterator. This is not the same as the
number of records returned, as records can span multiple lines.
DictReader objects have the following public attribute:
Способ 5. fastCSV
Подробности описания данного метода см. здесь. Проект выложен на github. Исходники данной библиотеки работают по такому же принципу, как и FileHelpers (способ 4), т.е. обрабатывается файл целиком и нужно заранее создать класс и описать все свойства для маппинга. Так как код этой библиотеки не сложный и он показал значительно лучшую производительность по сравнению с FileHelpers (см. «original» в таблице сравнения результатов), то я изменил код и сделал методы чтения CSV построчно, без маппинга в класс (см. «inline» в таблице сравнения результатов). Код fastCSV с методом «inline» можете скачать из исходников (см. ссылку в конце статьи).
В случае, если необходимо маппить CSV с объектом, то этот вариант в 2 раза быстрее, чем FileHelpers и менее затратный в памяти, чем FileHelpers.
Чтение файла CSV
Давайте посмотрим, как читать CSV-файл, используя вспомогательные модули, которые мы обсуждали выше.
Создайте свой CSV-файл и сохраните его как example.csv. Убедитесь, что он имеет расширение и заполните некоторые данные. Здесь у нас есть CSV-файл, который содержит имена учеников и их оценки.
Ниже приведен код для чтения данных в нашем CSV с использованием функции и класса .
Чтение CSV-файла с помощью csv.reader
В приведенном выше коде мы импортируем модуль CSV, а затем открываем наш файл CSV в виде . Затем мы определяем объект reader и используем метод для извлечения данных в объект. Затем мы перебираем объект и извлекаем каждую строку наших данных.
Мы показываем прочитанные данные, печатая их содержимое на консоль. Мы также указали обязательные параметры, такие как разделитель, кавычка и цитирование.
Вывод
Чтение CSV-файла с помощью DictReader
Как мы упоминали выше, DictWriter позволяет нам читать CSV-файл, отображая данные в словарь вместо строк, как в случае с модулем
Хотя имя поля является необязательным параметром, важно всегда помечать столбцы для удобства чтения
Вот как читать CSV, используя класс DictWriter.
Сначала мы импортируем модуль csv и инициализируем пустой список , который мы будем использовать для хранения полученных данных. Затем мы определяем объект reader и используем метод для извлечения данных в объект. Затем мы перебираем объект и извлекаем каждую строку наших данных.
Наконец, мы добавляем каждую строку в список результатов и выводим содержимое на консоль.
Вывод
Как вы можете видеть выше, лучше использовать класс DictReader, потому что он выдает наши данные в формате словаря, с которым легче работать.
Устранение неполадок
Частые проблемы с открытием CSV
Microsoft Excel Исчез
При двойном щелчке CSV-файла может появиться диалоговое окно операционной системы с сообщением о том, что он «Не удается открыть этот тип файла». Когда это происходит, это обычно связано с отсутствием Microsoft Excel в %%os%%. Поскольку ваша операционная система не знает, что делать с этим файлом, вы не сможете открыть его двойным щелчком мыши.
Наконечник: Если у вас не установлен Microsoft Excel, и вы знаете другую программу, чтобы открыть файл CSV, вы можете попробовать открыть его, выбрав из программ, перечисленных в разделе «Показать приложения».
Неверная версия Microsoft Excel
Иногда может быть установлена устаревшая версия Microsoft Excel, несовместимая с типом Comma Separated Values File. Рекомендуется установить последнюю версию Microsoft Excel из Microsoft Corporation. Эта проблема в основном возникает, когда файл Comma Separated Values File был создан более новой версией Microsoft Excel, чем на компьютере.
Совет . Найдите подсказки о правильной версии программного обеспечения, щелкнув правой кнопкой мыши CSV-файл и выбрав «Свойства».
Сводка. Наличие правильной версии Microsoft Excel на компьютере может вызвать проблемы с открытием CSV-файлов.
В большинстве случаев установка правильной версии Microsoft Excel решит вашу проблему. Если у вас по-прежнему возникают проблемы с открытием файлов CSV, могут возникнуть другие проблемы с компьютером. К числу этих вопросов относятся:
Другие способы преобразования файлов Excel в CSV
Описанные выше способы экспорта данных из Excel в CSV (UTF-8 и UTF-16) универсальны, т.е. подойдут для работы с любыми специальными символами и в любой версии Excel от 2003 до 2013.
Существует множество других способов преобразования данных из формата Excel в CSV. В отличие от показанных выше решений, эти способы не будут давать в результате чистый UTF-8 файл (это не касается , который умеет экспортировать файлы Excel в несколько вариантов кодировки UTF). Но в большинстве случаев получившийся файл будет содержать правильный набор символов, который далее можно безболезненно преобразовать в формат UTF-8 при помощи любого текстового редактора.
Преобразуем файл Excel в CSV при помощи Таблиц Google
Как оказалось, можно очень просто преобразовать файл Excel в CSV при помощи Таблиц Google. При условии, что на Вашем компьютере уже установлен , выполните следующие 5 простых шагов:
- В Google Drive нажмите кнопку Создать (Create) и выберите Таблица (Spreadsheet).
- В меню Файл (File) нажмите Импорт (Import).
- Кликните Загрузка (Upload) и выберите файл Excel для загрузки со своего компьютера.
- В диалоговом окне Импорт файла (Import file) выберите Заменить таблицу (Replace spreadsheet) и нажмите Импорт (Import).
Совет: Если файл Excel относительно небольшой, то для экономии времени можно перенести из него данные в таблицу Google при помощи копирования / вставки.
- В меню Файл (File) нажмите Скачать как (Download as), выберите тип файла CSV – файл будет сохранён на компьютере.
В завершение откройте созданный CSV-файл в любом текстовом редакторе, чтобы убедиться, что все символы сохранены правильно. К сожалению, файлы CSV, созданные таким способом, не всегда правильно отображаются в Excel.
Сохраняем файл .xlsx как .xls и затем преобразуем в файл CSV
Для этого способа не требуется каких-либо дополнительных комментариев, так как из названия уже всё ясно.
Это решение я нашёл на одном из форумов, посвящённых Excel, уже не помню, на каком именно. Честно говоря, я никогда не использовал этот способ, но, по отзывам множества пользователей, некоторые специальные символы теряются, если сохранять непосредственно из .xlsx в .csv, но остаются, если сначала .xlsx сохранить как .xls, и затем как .csv, как мы .
Так или иначе, попробуйте сами такой способ создания файлов CSV из Excel, и если получится, то это будет хорошая экономия времени.
Сохраняем файл Excel как CSV при помощи OpenOffice
OpenOffice – это пакет приложений с открытым исходным кодом, включает в себя приложение для работы с таблицами, которое отлично справляется с задачей экспорта данных из формата Excel в CSV. На самом деле, это приложение предоставляет доступ к большему числу параметров при преобразовании таблиц в файлы CSV (кодировка, разделители и так далее), чем Excel и Google Sheets вместе взятые.
Просто открываем файл Excel в OpenOffice Calc, нажимаем Файл > Сохранить как (File > Save as) и выбираем тип файла Текст CSV (Text CSV).
На следующем шаге предлагается выбрать значения параметров Кодировка (Character sets) и Разделитель поля (Field delimiter). Разумеется, если мы хотим создать файл CSV UTF-8 с запятыми в качестве разделителей, то выбираем UTF-8 и вписываем запятую (,) в соответствующих полях. Параметр Разделитель текста (Text delimiter) обычно оставляют без изменения – кавычки (“). Далее нажимаем ОК.
Таким же образом для быстрого и безболезненного преобразования из Excel в CSV можно использовать ещё одно приложение – LibreOffice. Согласитесь, было бы здорово, если бы Microsoft Excel предоставил возможность так же настраивать параметры при создании файлов CSV.
Чтение формата CSV и получение любой ячейки таблицы с помощью iMacros и Javascript
В первом и в прошлом уроках я ругал стандартные возможности iMacros по работе с таблицами. Я понимаю, что они добавили !DATASOURCE и прочую нечисть, с крайне урезанным функционалом для простых пользователей, чтобы сделать жизнь обывателя проще. Но, получилось совсем наоборот. Не стоит отчаиваться, сегодня я с вами поделюсь своим решением, которое позволит вам манипулировать таблицами, как вам вздумается.
Для загрузки файла в переменную, мы используем код для чтения файла из прошлого урока:
var loadFile = function (fileName) { var fileDescriptor = imns.FIO.openNode(fileName); return imns.FIO.readTextFile(fileDescriptor); }
Замечательно! Мы получим содержимое файла в виде текста. Это не очень удобно, поэтому преобразуем его в двумерный Javascript-массив.
Вот такой массив я хочу видеть в результате:
var arr = , , ]; // Что потом можно делать с массивом window.console.log(arr); // 1 - первая строка, первый столбец window.console.log(arr); // 1982 - третья строка, третий столбец window.console.log(arr.length); // 3 - считаем строки window.console.log(arr.length); // 3 - считаем столбцы
В данном случае, у нас получится массив с тремя элементами. Каждым элементом этого массива будет другой массив, состоящий из численных и строковых значений. Если немного подумать, у нас уже есть достаточно знаний для осуществления подобного преобразования.
Импорт элементов конфигурации из CSV-файла
Перед импортом данных из файла с разделителями-запятыми (CSV) необходимо создать два файла: файл данных и файл форматирования. Для импорта файла Newcomputers.csv с использованием файла формата Newcomputers.xml можно использовать следующую процедуру.
Импорт элементов конфигурации из CSV-файла
-
В консоли Service Manager щелкните элемент Администрирование.
-
В области Администрирование разверните узел Администрирование и выберите пункт Соединители.
-
В области Задачи выберите команду Импортировать из CSV-файла.
-
В диалоговом окне Импорт экземпляров из CSV-файла выполните следующие действия.
-
Нажмите кнопку Обзор рядом с полем XML-файл формата и выберите файл формата. Например, выберите файл Newcomputers.xml и нажмите кнопку Открыть.
-
Нажмите кнопку Обзор рядом с полем Файл данных и выберите файл данных. Например, выберите файл Newcomputers.csv и нажмите кнопку Открыть.
-
-
В диалоговом окне Импорт экземпляров из CSV-файла нажмите кнопку Импорт.
-
В диалоговом окне Импорт экземпляров из CSV-файла убедитесь, что числа рядом с полями Сохранено элементов, Экземпляров, созданных в памяти и Экземпляров, зафиксированных в базе данных совпадает с числом строк в файле данных, и нажмите кнопку Закрыть.
для выполнения этой задачи можно использовать команду Windows PowerShell. Сведения об импорте элементов конфигурации из CSV-файла с помощью Windows PowerShell см. в разделе Import-SCSMInstance.
Проверка импорта элементов конфигурации из CSV-файла
-
В консоли Service Manager щелкните Элементы конфигурации.
-
В области Элементы конфигурации разверните узлы Элементы конфигурации и Компьютеры, а затем выберите пункт Все компьютеры Windows.
-
Убедитесь, что в области Все компьютеры Windows перечислены компьютеры из CSV-файла.
Стандартизация
Имя «CSV» указывает на использование запятой для разделения полей данных. Тем не менее, термин «CSV» широко используется для обозначения большого семейства форматов, которые во многом различаются. Некоторые реализации позволяют или требуют одинарные или двойные кавычки вокруг некоторых или всех полей; а некоторые резервируют первую запись как заголовок, содержащий список имен полей. Используемый набор символов не определен: некоторым приложениям требуется метка порядка байтов Unicode (BOM) для обеспечения интерпретации Unicode (иногда даже BOM UTF-8 ). Файлы, в которых вместо запятой используется символ табуляции, можно более точно назвать «TSV» для значений, разделенных табуляцией .
Другие отличия реализации включают обработку более распространенных разделителей полей (таких как пробел или точка с запятой) и символов новой строки внутри текстовых полей. Еще одна тонкость — это интерпретация пустой строки: она может в равной степени быть результатом записи записи из нулевых полей или записи одного поля нулевой длины; при этом расшифровка неоднозначна.
Пакет табличных данных без трения OKI
В 2011 году Open Knowledge Foundation (OKF) и различные партнеры создали рабочую группу по протоколам данных, которая позже превратилась в инициативу Frictionless Data. Одним из основных форматов, которые они выпустили, был пакет табличных данных. Пакет табличных данных в значительной степени основан на CSV, используя его в качестве основного формата передачи данных и добавляя метаданные базового типа и схемы (в CSV отсутствует какая-либо информация о типе, чтобы отличить строку «1» от числа 1).
Инициатива Frictionless Data Initiative также предоставила стандартный формат описания диалектов CSV для описания различных диалектов CSV, например, для указания разделителя полей или правил цитирования.
Стандарт табличных данных Internet W3C
В 2013 году рабочая группа W3C «CSV в Интернете» начала определять технологии, обеспечивающие повышенную совместимость веб-приложений, использующих CSV или аналогичные форматы. Рабочая группа завершила свою работу в феврале 2016 года и официально закрылась в марте 2016 года с выпуском набора документов и рекомендаций W3C по моделированию «табличных данных» и расширению CSV метаданными и семантикой .
RFC 4180 стандарт
Технический стандарт 2005 года RFC 4180 формализует формат файла CSV и определяет тип MIME «text / csv» для обработки текстовых полей. Однако интерпретация текста каждого поля по-прежнему зависит от приложения. Файлы, соответствующие стандарту RFC 4180, могут упростить обмен CSV и должны быть широко переносимыми. Среди его требований:
Строки в стиле MS-DOS, которые заканчиваются символами (CR / LF) (необязательно для последней строки).
Необязательная запись заголовка (нет надежного способа определить, присутствует ли она, поэтому при импорте требуется осторожность).
Каждая запись должна содержать одинаковое количество полей, разделенных запятыми.
Любое поле можно заключить в кавычки (в двойные кавычки).
Поля, содержащие перенос строки, двойные кавычки или запятые, должны быть заключены в кавычки. (В противном случае файл, скорее всего, будет невозможно правильно обработать.)
Если для заключения полей используются двойные кавычки, то двойные кавычки в поле должны быть представлены двумя символами двойных кавычек.. Формат может обрабатываться большинством программ, которые утверждают, что читают файлы CSV
Исключениями являются: (а) программы могут не поддерживать разрывы строк в цитируемых полях, (б) программы могут путать необязательный заголовок с данными или интерпретировать первую строку данных как необязательный заголовок и (в) двойные кавычки в поле могут быть недопустимыми. разбирается правильно автоматически.
Формат может обрабатываться большинством программ, которые утверждают, что читают файлы CSV. Исключениями являются: (а) программы могут не поддерживать разрывы строк в цитируемых полях, (б) программы могут путать необязательный заголовок с данными или интерпретировать первую строку данных как необязательный заголовок и (в) двойные кавычки в поле могут быть недопустимыми. разбирается правильно автоматически.