Как заставить ArcGIS распознавать текстовое поле в файле CSV?

11

Связано с определением типа данных в загрузке таблицы ArcGIS

У меня есть файл CSV, который содержит смесь числовых и текстовых полей:

ID,Txt,Int,Dbl
12345,abc,45,56.78
12346,9,65,23.12
12347,10,66,23.13

Согласно этой статье Esri, если верхние 8 строк содержат текстовое значение, поле будет классифицировано как текст, но я обнаружил, что второе поле классифицируется как Long. Это означает, что значение «abc» опущено:

введите описание изображения здесь

Как заставить ArcGIS распознавать это как текстовое поле, сохраняя данные в формате CSV?

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

благодаря

Стивен Лид
источник
2
Вот полная спецификация для записи: msdn.microsoft.com/en-us/library/windows/desktop/… Интересно, что это не полностью работало для меня ...
Махди

Ответы:

18

Взгляните на раздел «Переопределение форматирования текстовых файлов» в разделе справки « Добавление ASCII или таблицы текстовых файлов» :

Вы можете изменить отображение текстовых файлов с разделителями в ArcGIS, используя файлы schema.ini. Пример того, когда вы захотите использовать файл schema.ini для переопределения поведения по умолчанию, - это когда ArcGIS неправильно интерпретирует тип поля. В следующем примере показано, как это сделать для поля с именем PLOTS, которое должно отображаться как тип Text, но интерпретируется как тип Double.

[Trees.CSV]
Col14=PLOTS Text

Обратите внимание, что вам может потребоваться создать файл schema.ini, если он отсутствует, и вам необходимо изменить способ отображения текстовых файлов с разделителями в ArcGIS. Для получения дополнительной информации о файле schema.ini выполните поиск по schema.ini на веб-сайте Microsoft MSDN .

blah238
источник
2
Спасибо за это - он делает свое дело. Похоже, проблема в том, что ArcGIS автоматически сканирует первые 8 строк.
Стивен Лид
4
Мне пришлось добавить «MaxScanRows = 0», поскольку «ColX = name Text», похоже, не работает на 100% само по себе.
Стивен Лид
Кто-нибудь пробовал это использовать arcpy на Linux? Я предполагаю, что это будет работать только на Windows, так как schema.ini все связано с ошибкой Micrsoft ODBC.
Кертис Прайс