Открытые данные с портала data.mos.ru

Обсуждение материалов сайта: вопросы, замечания, предложения
Ответить
DimDim
Участник
Сообщения: 76
Зарегистрирован: 30 апр 2013, 13:22
Репутация: 6
Откуда: Москва
Контактная информация:

Re: Открытые данные с портала data.mos.ru

Сообщение DimDim » 10 июн 2013, 22:53

Блин, привык к LatLon, а в SQL Server LonLat :)

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9128
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Открытые данные с портала data.mos.ru

Сообщение Максим Дубинин » 11 июн 2013, 00:35

обновил нормализованные выгрузки 20130611, возможны глюки, сообщайте
пристегивайтесь, турбулентность прямо по курсу

DimDim
Участник
Сообщения: 76
Зарегистрирован: 30 апр 2013, 13:22
Репутация: 6
Откуда: Москва
Контактная информация:

Re: Открытые данные с портала data.mos.ru

Сообщение DimDim » 11 июн 2013, 01:02

Не то, чтобы глюки, но во многих файлах нет перехода на новую строку в отдельных строках. Но это всё легко фиксится.

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9128
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Открытые данные с портала data.mos.ru

Сообщение Максим Дубинин » 11 июн 2013, 09:02

а можно пример? в пяток ткнул вроде все нормально, видать это моя последняя правка воткнулась, хотя она должна была почистить переводы строки только для полей
пристегивайтесь, турбулентность прямо по курсу

DimDim
Участник
Сообщения: 76
Зарегистрирован: 30 апр 2013, 13:22
Репутация: 6
Откуда: Москва
Контактная информация:

Re: Открытые данные с портала data.mos.ru

Сообщение DimDim » 11 июн 2013, 12:21

То, что нашлось автоматом (после двоеточия число ошибок):

493.csv
Несовпадение числа колонок: 4
Нечётное кол-во кавычек: 4
495.csv
Несовпадение числа колонок: 4
Нечётное кол-во кавычек: 4
496.csv
Несовпадение числа колонок: 3
Нечётное кол-во кавычек: 2
501.csv
Несовпадение числа колонок: 25
Нечётное кол-во кавычек: 14
503.csv
Несовпадение числа колонок: 13
Нечётное кол-во кавычек: 12
510.csv
Несовпадение числа колонок: 4
Нечётное кол-во кавычек: 4
526.csv
Несовпадение числа колонок: 2
Нечётное кол-во кавычек: 2
529.csv
Несовпадение числа колонок: 28
Нечётное кол-во кавычек: 26
531.csv
Несовпадение числа колонок: 4
Нечётное кол-во кавычек: 4
654.csv
Несовпадение числа колонок: 6
Нечётное кол-во кавычек: 6
752.csv
Несовпадение числа колонок: 783
Нечётное кол-во кавычек: 752

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9128
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Открытые данные с портала data.mos.ru

Сообщение Максим Дубинин » 11 июн 2013, 12:56

как считается "несовпадение числа колонок"?
пристегивайтесь, турбулентность прямо по курсу

DimDim
Участник
Сообщения: 76
Зарегистрирован: 30 апр 2013, 13:22
Репутация: 6
Откуда: Москва
Контактная информация:

Re: Открытые данные с портала data.mos.ru

Сообщение DimDim » 11 июн 2013, 13:09

парсится первая строка - получаем число колонок
далее парсятся остальные строки и сравниваются

DimDim
Участник
Сообщения: 76
Зарегистрирован: 30 апр 2013, 13:22
Репутация: 6
Откуда: Москва
Контактная информация:

Re: Открытые данные с портала data.mos.ru

Сообщение DimDim » 11 июн 2013, 13:10

т.е. это может быть как раз нет перехода на новую строку

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9128
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Открытые данные с портала data.mos.ru

Сообщение Максим Дубинин » 11 июн 2013, 13:16

ок, посмотрю, кстати, если у вас это на питоне - то может сделаете мини-тестом, буду прогонять перед выгрузками?
пристегивайтесь, турбулентность прямо по курсу

DimDim
Участник
Сообщения: 76
Зарегистрирован: 30 апр 2013, 13:22
Репутация: 6
Откуда: Москва
Контактная информация:

Re: Открытые данные с портала data.mos.ru

Сообщение DimDim » 11 июн 2013, 13:37

на c#

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9128
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Открытые данные с портала data.mos.ru

Сообщение Максим Дубинин » 11 июн 2013, 21:17

что-то не так, то ли у вас с тестом, то ли у меня

Код: Выделить всё

>>> import csv
>>> f = csv.DictReader(open('493.csv','rb'),delimiter=";")
>>> f.fieldnames
['NO', 'NAME', 'LABEL', 'ADDRESS', 'X', 'Y', 'BUI_NO_BTI', 'CAD_NO', 'STREET_BTI', 'HOUSE_BTI', 'HADD_BTI', 'OKRUG', 'RAYON', 'ADDR_JUR', 'PHONE', 'FAX', 'SITE', 'EMAIL', 'LAT', 'LON']
>>> len(f.fieldnames)
20
>>> row = f.next()
>>> len(row)
20
UPD: или это по всем строкам?

UPD: по всем тоже что-то разницы не находит в 493 по крайней мере

Код: Выделить всё

>>> f = csv.DictReader(open('493.csv','rb'),delimiter=";")
>>> for row in f:
...     if len(row) != 20: print("not ok")
...
>>>
пристегивайтесь, турбулентность прямо по курсу

DimDim
Участник
Сообщения: 76
Зарегистрирован: 30 апр 2013, 13:22
Репутация: 6
Откуда: Москва
Контактная информация:

Re: Открытые данные с портала data.mos.ru

Сообщение DimDim » 11 июн 2013, 21:26

493.csv
Несовпадение числа колонок. Всего: 4
Нечётное кол-во кавычек. Всего: 4

По номерам строк:
Несовпадение числа колонок: 10
Несовпадение числа колонок: 11
Несовпадение числа колонок: 43
Несовпадение числа колонок: 44
Нечётное кол-во кавычек: 10
Нечётное кол-во кавычек: 11
Нечётное кол-во кавычек: 43
Нечётное кол-во кавычек: 44

Т.е. реально причина всех этих ошибок в отсутствии переноса строки в двух строках.

DimDim
Участник
Сообщения: 76
Зарегистрирован: 30 апр 2013, 13:22
Репутация: 6
Откуда: Москва
Контактная информация:

Re: Открытые данные с портала data.mos.ru

Сообщение DimDim » 11 июн 2013, 21:29

Точнее наоборот присутствие лишнего переноса :)

Изображение

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9128
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Re: Открытые данные с портала data.mos.ru

Сообщение Максим Дубинин » 11 июн 2013, 22:52

Мда и это тоже наследие исходных файлов, в нем рандомно еще разбросаны абзацы.

Первоисточник:
Изображение

Интересно что csv ридер питона такие случаи спокойно проглатывает, поэтому у меня таких ошибок и не возникало, просто \n часть значения:

Код: Выделить всё

>>> row = f.next()
>>> row['NO']
'9'
>>> row['ADDRESS']
'105064, \xd0\xb3.\xd0\x9c\xd0\xbe\xd1\x81\xd0\xba\xd0\xb2\xd0\xb0, \xd0\xaf\xd0
\xba\xd0\xbe\xd0\xb2\xd0\xbe\xd0\xb0\xd0\xbf\xd0\xbe\xd1\x81\xd1\x82\xd0\xbe\xd0
\xbb\xd1\x8c\xd1\x81\xd0\xba\xd0\xb8\xd0\xb9 \xd0\xbf\xd0\xb5\xd1\x80.,\n\xd0\xb
4.15 \xd1\x81\xd1\x82\xd1\x80.1'
см. \n\xd0\xb4.15

Сейчас займусь добавлением фиксящим разрывы внутри строк.
пристегивайтесь, турбулентность прямо по курсу

DimDim
Участник
Сообщения: 76
Зарегистрирован: 30 апр 2013, 13:22
Репутация: 6
Откуда: Москва
Контактная информация:

Re: Открытые данные с портала data.mos.ru

Сообщение DimDim » 11 июн 2013, 23:24

Да в исходниках вообще ад. По сравнению с ними, переносы строк это детский лепет :)

Ответить

Вернуться в «Материалы сайта»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 13 гостей