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

9

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

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


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

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

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

Ответы:

9

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

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

Érico
источник
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

Andrej
источник
Да, я работаю на Mac. Так что есть ошибка при импорте CSV-файлов в QGIS на Mac ... Я любитель в этом, так что я могу что-нибудь сделать, чтобы решить эту проблему, или единственное простое решение будет решить эту проблему на ПК?
JohannaH
Вы можете попробовать загрузить и сохранить файл Excel в LibreOffice. Или используйте хороший текстовый редактор, чтобы заменить неправильный перевод строки из Excel на правильный, как описано в связанных статьях.
AndreJ
Попытка сохранения файла в LibreOffice, к сожалению, безуспешно.
Иоганна
Итак, попробуйте текстовый редактор.
AndreJ
1

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

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

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

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

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

SAnderka
источник
Что ж, я сделал это и успешно выполнил объединение, но поскольку моя ОРИГИНАЛЬНАЯ проблема заключалась в том, что я не мог заставить 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.
Майкл Стимсон