QGIS не будет читать столбцы таблицы при импорте CSV в Mac OS


9

Я пытаюсь импортировать файл CSV в QGIS, но в итоге он выглядит как мой экран печати ниже (программа на шведском языке, но в окне предварительного просмотра вы можете увидеть, как QGIS не может правильно читать мои данные). Я не могу загрузить данные, так как по какой-то причине QGIS считывает мои столбцы таблицы CSV как одну строку. Что не так? Я хочу, чтобы QGIS считывал мои данные в виде чисел, поэтому я создал дополнительный csvt-файл с кодами «String», «String», «Integer». Есть ли что-то еще, что мне нужно, чтобы QGIS читал третий столбец как числа?

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


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

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


1
Добавьте пару строк вашего CSV-файла к вопросу.
user30184

Да, пожалуйста, покажите нам хотя бы пару строк из вашего CSV-файла!
Сэндерка

Теперь вы можете взглянуть на мои данные CSV!
JohannaH

Ответы:


9

У меня была та же проблема чтения QGIS файла CSV (сохраненного из MS Excel 2011 на моем Mac) в виде одной строки.

Итак, я заново сохранил лист Excel как «Windows Comma Separated (.csv)», и QGIS смог прочитать его очень хорошо.


2

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

Таким образом, вы должны перейти от CSVтуда user-defined separator, где вы можете выбрать точку с запятой.


ОБНОВИТЬ

Вы, кажется, работаете на Mac. Есть некоторые проблемы с переводом строки / возврата каретки с CSV на Mac. Вот почему все данные в одну строку. Видеть:

/programming/22052168/excel-saves-tab-delimited-files-without-newline-unix-mac-os-x

и отчет об ошибке http://hub.qgis.org/issues/8421


Да, я работаю на Mac. Так что есть ошибка при импорте CSV-файлов в QGIS на Mac ... Я любитель в этом, так что я могу что-нибудь сделать, чтобы решить эту проблему, или единственное простое решение будет решить эту проблему на ПК?
JohannaH

Вы можете попробовать загрузить и сохранить файл Excel в LibreOffice. Или используйте хороший текстовый редактор, чтобы заменить неправильный перевод строки из Excel на правильный, как описано в связанных статьях.
AndreJ

Попытка сохранения файла в LibreOffice, к сожалению, безуспешно.
Иоганна

Итак, попробуйте текстовый редактор.
AndreJ

1

Я также использую QGIS (начиная с v1.8) в OS X. Я никогда не сталкивался с проблемой возврата каретки при импорте файлов CSV в QGIS. Вы создали файл CSV самостоятельно, то есть на компьютере?

Я бы посоветовал вам импортировать файл CSV с помощью программного обеспечения для статистики, такого как R (или Stata, или того, что вы предпочитаете / уже имеете), и повторно экспортировать его.


Да, я сам создал CSV из Excel на моем Mac. Я не знаком с R или Stata, но если есть вероятность, что это проблема, я буду ее изучать.
Йоханна

1

Хм ... во-первых, я не вижу никаких координат в этих данных? Add delimited text layerИнструмент предназначен для преобразования таблиц данных с координатами , прикрепленных к (например , шейп - файл) точек.

Если вы просто хотите добавить csv-файл в свой проект для дальнейших объединений (например, с помощью названий стран или ISO-кодов), загрузите его напрямую через Add vector layerтрюк. Чтобы проверить данные вашего атрибута, просто щелкните правой кнопкой мыши новую запись в менеджере слоев и выберите Open Attribute Data.


Что ж, я сделал это и успешно выполнил объединение, но поскольку моя ОРИГИНАЛЬНАЯ проблема заключалась в том, что я не мог заставить QGIS распознавать мои данные как числа, я попробовал это вместо этого. Может быть, теперь я должен переформулировать свой вопрос. Поскольку я хочу выполнить интервальную классификацию своих данных, почему QGIS не распознает мои данные как числовые? Как я уже сказал, я создал дополнительный файл CSVT.
Иоанна

Судя по вашему скриншоту, ваш CSVT-файл должен содержать что-то вроде "string","string","real"?
Сэндерка

Да, сначала он содержал «String», «String», «Integer», теперь я изменил его на «String», «String», «Real», но у меня все еще остается та же проблема
JohannaH

Я полагаю, что QGIS неправильно интерпретирует форматирование ваших данных. Это выглядит, например 1,52E+05, как округленное значение высокоточного числа в ваших исходных данных Excel, но когда вы сохраняете как CSV, оно фактически сохранит это значение ( 1,52E+05) в этой ячейке, а НЕ исходное число с более высокой точностью (только что проверил это) , Если там есть буква ( Eв данном случае), QGIS будет использоваться в stringкачестве вашего типа данных. Вы можете проверить это, если откроете файл csv в простом текстовом редакторе.
Сандерка,

Я попытался изменить свои данные так, чтобы они отображали все десятичное число вместо E. Это до сих пор не помогает ...
JohannaH

0

QGIS ищет CR / LF в конце каждой строки в CSV-файле. Так Excel (и другие приложения) на компьютерах с Windows заканчивают каждую строку. На Mac файл Excel .csv по умолчанию имеет только CR (т. Е. Нет LF) в конце каждой строки. Поэтому QGIS читает файл как одну длинную строку. Решение, как впервые предложено ericO, заключается в том, чтобы сохранить файл в формате Windows, разделенном запятыми (csv). Это можно сделать в Excel на Mac. После сохранения в этом формате он будет правильно прочитан QGIS.


0

У меня была та же проблема, но я перенес данные в Open Office и преобразовал их в CSV из OO. Тогда нет проблем


2
Это, без сомнения, хорошее предложение, но я бы предпочел увидеть более подробное объяснение ответа, например, как конвертировать CSV в ОО, возможно. Можете ли вы немного расширить это, пожалуйста; Я понимаю, что добавить можно немного больше, пожалуйста, попробуйте. Вероятно, это связано с разницей между разделителями строк Windows CRLF и NewLine на Mac.
Майкл Стимсон
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.