Страница 1 из 1
При экспорте атрибутов в csv NULL становится "0"
Добавлено: 10 май 2012, 00:32
SS_Rebelious
Если экспортировать атрибуты в csv, то те значения которые были NULL принимают значение "0". Не особенно приятная вещь, особенно если среди атрибутов действительно присутствуют нули.
Re: При экспорте атрибутов в csv NULL становится "0"
Добавлено: 10 май 2012, 10:37
Voltron
ИМХО, не ошибка. NULL это специальная сущность в БД, соответственно, вне их она смысла не имеет. Ведь среди атрибутов могут быть и строки, в том числе и со значением "NULL"
Re: При экспорте атрибутов в csv NULL становится "0"
Добавлено: 10 май 2012, 11:16
Александр Мурый
Voltron писал(а):ИМХО, не ошибка. NULL это специальная сущность в БД, соответственно, вне их она смысла не имеет.
Зачем же так категорично, в таблицах с данными типа CSV вполне может быть свой NULL (ну или NaN, если угодно). Было бы недурно разграничить "0" и "NULL" при экспорте атрибутов в CSV (например, сделать выбор символа(ов), который будет за NULL).
Re: При экспорте атрибутов в csv NULL становится "0"
Добавлено: 10 май 2012, 11:20
SS_Rebelious
Думаю, было бы логично при экспорте в csv NULL заменять на пустое значение.
Re: При экспорте атрибутов в csv NULL становится "0"
Добавлено: 10 май 2012, 15:29
Voltron
amuriy писал(а):Зачем же так категорично, в таблицах с данными типа CSV вполне может быть свой NULL (ну или NaN, если угодно).
Потому что NULL или NaN в CSV это
обычное строковое значение, а не NULL в том понимании, которое используется в БД. Возможно, я не прав, в таком случае прошу ткнуть меня в соответствующие доки.
amuriy писал(а):Было бы недурно разграничить "0" и "NULL" при экспорте атрибутов в CSV (например, сделать выбор символа(ов), который будет за NULL).
Экспортом занимается OGR, так что вам
сюда
Re: При экспорте атрибутов в csv NULL становится "0"
Добавлено: 10 май 2012, 16:03
Максим Дубинин
так может тогда просто "пусто" вставлять было бы правильнее, а не 0?
Re: При экспорте атрибутов в csv NULL становится "0"
Добавлено: 10 май 2012, 16:08
Voltron
Максим Дубинин писал(а):так может тогда просто "пусто" вставлять было бы правильнее, а не 0?
Для числовых полей это вариант, а вот со строковыми опять проблема. Может, у меня там и должна быть пустая строка, что тогда?
Re: При экспорте атрибутов в csv NULL становится "0"
Добавлено: 10 май 2012, 16:25
Александр Мурый
Тест.
Шейп со значениями "0" и "NULL" в атрибутах:

- test_csv.png (10.8 КБ) 10338 просмотров
Сохраняем через QGIS в CSV:
Делаем через OGR:
???
Re: При экспорте атрибутов в csv NULL становится "0"
Добавлено: 10 май 2012, 16:37
Александр Мурый
Может, конечно, дело в версиях GDAL (консольный у меня 1.9.0), QGIS из репозитория собрана с 1.6.3
Проверил:
Код: Выделить всё
$ ldd /usr/bin/qgis | grep libgdal
libgdal1.6.0.so.1 => /usr/lib/libgdal1.6.0.so.1
Re: При экспорте атрибутов в csv NULL становится "0"
Добавлено: 12 май 2012, 13:03
Александр Мурый
Хотелось бы всё-таки услышать комментарии по поводу нулей и NULL'ей. Проблема есть, или мне показалось?
Re: При экспорте атрибутов в csv NULL становится "0"
Добавлено: 12 май 2012, 13:47
Максим Дубинин
спасибо за тесты, я попробовал сделать тоже самое в QGIS и ogr2ogr, у меня точно такие же результаты, причем QGIS собран с 1.9, так что видимо то что у тебя 1.6 - не важно.
Я бы тоже хотел увидеть резюме по этому вопросу от кого-то, кто может поковыряться в исходниках QGIS/GDAL