0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как быстро преобразовать текстовый файл в файл Excel с разделителем?

Создание точечного слоя из текстового файла в QGIS

Довольно часто геоданные (информация с привязкой к координатам) хранятся в виде текста или таблиц, и возникает необходимость преобразовать их в какой-либо векторный формат. В этой статье QGIS описывает способ создания шейп-файла из текста с разделителями.

Содержание

[править] Подготовка данных к импорту

Сначала необходимо подготовить данные: удобнее всего это сделать в табличном редакторе (например, OpenOffice Calc или MS Excel), но можно работать и в любом другом текстовом редакторе, (Notepad — блокнот, входящий в стандартные программы Windows, или более удобный и работающий с большими текстовыми файлами Notepad++). Табличный редактор требует наличия трех основных колонок (могут присутствовать и другие поля данных):

  • Идентификатор точки (имя или номер)
  • Широта
  • Долгота

Например, таблица с описаниями растительности: первый столбец содержит номер описания, затем широту и долготу, высоту NUM и название единицы растительности. Широта указывается в десятичных градусах или метрах (если используется прямоугольная система координат). Если исходные координаты даны в градусах, минутах и секундах, они должны быть сначала преобразованы в десятичные числа.

Excel-red.png

После приведения данных к заданному виду их следует сохранить в виде текстового файла. Рекомендуется сохранять в виде текста с разделительной вкладкой. В Excel: Файл -> Сохранить как, и в поле «Тип файла» выберите «Текстовые файлы (с разделителями табуляции (*.txt)».

  • Назовите колонки кратко, латинскими буквами, без пробелов и специальных символов.
  • Если вы назовете колонку широты Lat (широта) и колонку долготы Lon (долгота), программа автоматически распознает, что эти колонки содержат широту и долготу соответственно; в противном случае вам придется вручную указать, какая колонка показывает широту, а какая долготу.
  • Убедитесь, что в качестве разделителя для целых и дробных частей всегда используется один и тот же знак (точка или запятая).

[править] Использование модуля «Текст с разделителями»

Для преобразования текстовых данных в векторный слой в QGIS имеется модуль «Текст с разделителями» Delimited text.png. Модуль входит в ядро QGIS и не требует отдельной установки (устанавливается вместе с QGIS), однако следует убедиться, что он включен. Для этого в QGIS зайдите во вкладку «Модули» -> «Управление модулями» и убедитесь, что на против модуля «Текст с разделителями» стоит галочка:

Читайте так же:
Как автосуммировать несколько строк / столбцов / листов в Excel?

Manager-dtext.png

Запускаем модуль с главной панели QGIS: Слой -> Добавить слой из текста с разделителями, или нажав на кнопку Delimited text.png.

Когда появится окно сообщения, выберите текстовый файл, созданный на предыдущем этапе, в столбце «Имя файла».

  • Укажите, что текст разделяется разделителями (установите флажок «Разделители») и что тип разделителя — табуляция (или другой используемый вами тип).
  • Начните обработку со строки 0 — в этом случае заголовки, созданные на первом этапе, будут использоваться в качестве заголовков столбцов.
  • Установите флажок «XY формат», чтобы выбрать столбец долготы в качестве координаты X и столбец широты в качестве координаты Y, если они не выбраны автоматически.
  • Выберите тип разделителя для целых и дробных чисел (десятичная точка) — точка или запятая.
  • Убедитесь, что таблица выглядит узнаваемо в нижнем поле «Образец». Если таблица «свернута», проверьте, правильно ли вы установили разделитель или установили дополнительный разделитель:

Dtext window.png

Нажмите «ОК». Теперь нужно указать используемую систему координат: если координаты даны в градусах, то это географическая система координат, и в случае данных, полученных с помощью GPS, почти наверняка использовался эллипсоид WGS84. Она может быть и другой, но чаще всего это так.

Чтобы быстро найти нужную систему координат в обширном списке, введите «WGS 84» в поле «Фильтр» и выберите ее в списке Географические системы координат:

Dtext-coord.png

Нажмите OK. Теперь убедитесь, что точки находятся там, где нужно. Если точки очень «размыты», проверьте, не перепутали ли вы широту и долготу на предыдущем этапе. Если точки «пролетели» 50-100 метров, проблема может заключаться в плохой системе координат, необходимо найти настройки SK, в которых были взяты координаты.

Dtext verify.png

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

Читайте так же:
Как в Excel выделить все ячейки с комментариями?

Dtext saveas.png

Далее укажите тип файла (ESRI Shape-file), каталог сохранения, кодировку (систему) и систему координат для сохраняемого слоя. Выберите «Layer CRS», если вы хотите сохранить в системе координат, указанной на предыдущем шаге. Нажмите «OK».

Dtext-shape.png

Откройте полученный Shape-файл и проверьте его таблицу атрибутов: если длина текстового поля превышает 80 символов, возникнут проблемы, поскольку драйвер OGR по умолчанию ограничивает длину строки 80 символами. О том, как задать длину текстового поля и другие параметры поля при импорте данных из текстового файла, читайте в следующем разделе.

[править] Пользовательская настройка полей создаваемого shape-файла

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

Excel-table2.png

Экспортируйте эту таблицу в формат CSV (В Excel Файл -> Сохранить как. В качестве типа файла выберите CSV (с разделителями-запятыми, *). CSV):

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

  • Integer — целочисленные поля, количество значащих символов указывается в скобках. Таким образом, если значения поля находятся в диапазоне от 1 до 999, может быть указано «Integer(3)», так как для поля Num (номер описания)
  • Real — десятичная дробь, в скобках указывается общая длина с учетом целого и дробного разделителя, а также количество десятичных знаков. Таким образом, для координат, полученных с помощью бытового GPS с навигационной точностью (6 знаков после запятой), параметры будут выглядеть следующим образом: «Real(9,6)»
  • String: текстовая строка. Количество символов (включая пробелы и знаки препинания) указывается в скобках. Помните, что максимальная длина текстового поля шейп-файла составляет 254 символа.
  • Дата: Драйвер CSV также поддерживает форматирование даты (в формате YYYY-MM-DD). К сожалению, невозможно записать формат даты в шейпфайл.
Читайте так же:
Как всегда вставлять пустую строку внизу, а не вверху в Excel?

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

В теле файла следует написать :

  • Name= — имя файла *.VRT
  • WGS84 — СК, в данном случае географический СК, эллипсоид WGS84.
  • WkbPoint — тип геометрии, в нашем случае — точечный слой.
  • — указывает, какие столбцы файла *.CSV содержат долготу и широту соответственно.

Это гарантирует, что в одной папке будет 3 файла с одинаковым именем:

  • Имя файла.csv
  • Имя файла.csvt
  • Имя файла.vrt

Когда файл VRT будет открыт в QGIS, вы увидите его как векторный слой: Layer -> Add Vector Layer. Вы можете просмотреть параметры созданных полей, перейдя на вкладку «Поля» в свойствах слоя:

Dtext-attribute.png

Сохраните полученный виртуальный слой как шейп-файл: Слой -> Сохранить как

Экспортируйте из Excel в CSV с любым разделителем и кодировкой

Популярность текстовых файлов CSV объясняется тем, что этот формат поддерживается большинством приложений. Поэтому преобразование файлов Excel в файлы CSV с запятыми в качестве разделителей является часто выполняемой операцией. Но что если вам нужно экспортировать все листы книги сразу или использовать другой разделитель? Кроме того, операция «Сохранить как CSV» автоматически закрывает рабочую книгу Excel, что усложняет работу, если необходимо экспортировать данные несколько раз.

Инструмент экспорта CSV облегчает преобразование таблиц XLSX (XLS) в формат CSV:

Перед началом работы добавьте «Экспорт в CSV» в Excel

Дополнение X LTools для Excel содержит 20+ инструментов, включая «Экспорт в CSV». Предназначено для Excel 2019, 2016, 2013, 2010, Office 365.

Начните работу с инструментами XLTools

Как экспортировать выбранный диапазон из Excel в CSV

Выберите диапазон, который нужно экспортировать в CSV

Установите флажок Открыть файл после экспорта, если вы хотите сразу же увидеть результат.

Читайте так же:
Добавить символы валюты в Excel

Обратите внимание, что исходный файл Excel остается открытым и неизменным. Подробнее.

Результат: выбранный диапазон сохранен как CSV

Как экспортировать в CSV один или сразу несколько рабочих листов

Выберите все листы в этой книге и экспортируйте их в CSV

Установите флажок Открыть файл (папку) после экспорта, если хотите сразу увидеть результат.

Обратите внимание, что исходный файл Excel остается открытым и неизменным. Файлы CSV будут иметь имена, соответствующие исходным листам.

Результат: все рабочие листы в книге сохранены как CSV

Другой способ сохранить несколько рабочих листов в виде файлов CSV — использовать XLTools «Book organizer».

Чтобы сохранить лист в виде отдельного файла, нажмите Сохранить листы как отдельные файлы в выпадающем списке.

Выберите рабочие листы в Органайзере книг и экспортируйте их в CSV

Как задать параметры обработки данных при экспорте из Excel в CSV

Можно задать способ обработки и экспорта значений в формат CSV:

Задайте параметры обработки для экспорта данных из Excel в CSV

Выберите Сохранить как отформатированные значения

Выберите этот параметр, если вы хотите экспортировать значения в том же формате, который указан в Excel, т.е. в том виде, в котором они отображаются в ячейках. Например, 10%, 16 марта 2015 года, $40.

Задайте настройку: сохранить формат значения в CSV

Выберите Сохранить как действительные значения.

Выберите этот параметр, если вы хотите экспортировать значения в формате по умолчанию, как они отображаются в строке формул Excel. Например, 0,1, 16.03.2015, 40,00.

Задайте настройку: сохранить значения в CSV

Поставьте галочку в поле С квалификационным кодом.

Отметьте эту опцию, если вам нужно добавить квалификаторы полей. Напечатайте " (двойная кавычка), или ' (одинарная кавычка), или любой другой знак. Надстройка добавит квалификаторы к каждому полю в файле результата CSV. Это полезная опция для тех, кто обрабатывает CSV файлы в системах предыдущих поколений.

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

Вы также можете установить флажок, чтобы удалить _ из данных. Знаки классификатора останутся только в начале и конце поля. Все остальные знаки-определители будут удалены.

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

Читайте так же:
Как быстро скрыть содержимое ячейки в Excel?

Задайте настройку: добавить квалификатор и удалить этот знак из всех других позиций

Установите флажок в поле Разделить объединенные ячейки и дублирующие значения

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

Задайте настройку: разбить объединенные ячейки при экспорте в CSV

Как экспортировать из Excel в CSV с разделителем точка с запятой, табуляция или вертикальная черта

Таблицу Excel можно сохранить как CSV-файл либо со стандартным разделителем запятыми, либо с другим подходящим разделителем значений:

Экспорт данных из Excel в CSV с разделителем запятая, точка с запятой, табуляция или вертикальная черта

Как экспортировать из Excel в CSV и задать кодировку

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

Экспорт данных из Excel в CSV с любой кодировкой

Сохраняйте таблицы Excel как CSV без закрытия Excel файла

Файлы Excel можно конвертировать, нажав кнопку «Сохранить как». Сообщение «Некоторые функции будут недоступны» появляется в разделе «CSV». Далее создается впечатление, что ваш исходный файл XLSX был заменен файлом CSV. На самом деле, ваш исходный файл Microsoft Excel был автоматически закрыт, а CSV-файл, который вы только что создали, был открыт в Excel. Если вы сохраните файл Excel в формате CSV, вам придется открыть исходный документ Excel заново. Это довольно неудобно и чревато потерей несохраненных изменений данных.

X Экспорт LSX в CSV становится проще с помощью функции Export to CSV:

Как экспортировать данные из Excel в другие форматы

Инструмент экспорта листов позволяет экспортировать данные в другие форматы, такие как TXT, HTML или PDF. Вы можете сохранить несколько листов Excel в виде отдельных файлов в нужном формате.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector