Я загрузил набор данных в openrefine из моей базы данных postgresql. В моей таблице у меня есть первичный ключ "id".
Затем я очищаю импортированную таблицу в открытом виде, выполняя следующие две вещи:
1) кластеризовать и объединить несколько столбцов, которые содержат биты адреса ("address_line_1", "address_line_2", "address_country" и т. Д.), Чтобы я мог объединять записи типа "london" "lodon" "londres"
в london
etc ...
2) Добавьте столбец address_full
на основе address_line_1
и объедините другие столбцы со следующим GREL:
if(isBlank(cells["address_line_1_normalised"].value), " ",
cells["address_line_1_normalised"].value)
+ ' '
+ if(isBlank(cells["address_line_2_normalised"].value), " ",
cells["address_line_2_normalised"].value)
+ ' '
+ if(isBlank(cells["address_town_normalised"].value), " ",
cells["address_town_normalised"].value)
+ ' '
+ if(isBlank(cells["address_county_normalised"].value), " ",
cells["address_county_normalised"].value)
+ ' '
+ if (isBlank(cells["address_postcode"].value), " ",
cells["address_postcode"].value)
+ ' '
+ if(isBlank(cells["address_country_normalised"].value), " ",
cells["address_country_normalised"].value)
3) Сгруппируйте и объедините full_address
, чтобы стандартизировать адреса.
И здесь я был бы доволен этим и хотел бы снова загрузить в postgres, однако в момент извлечения я понимаю , что некоторые идентификаторы совпадают, что должно быть невозможно , после тщательного запроса Я думаю, что некоторые строки были сокрушены другими.
- ДЕТАЛИ--
1) Я уверен, что у меня есть уникальные идентификаторы в таблице pg.
2) запрос для получения данных из pg в openrefine:
select * from schema_name.table_name;
3) Вывод csv после того, как я отредактировал в открытом уточнении, начнется с серии идентификаторов, как это.
1
2
3
...
-> from row 265 it would go like this
265 (same record 265)
265 (same record 265)
266 (same record 266)
266 (same record 266)
266 (same record 266)
267 (same record 267)
267 (same record 267)
267 (same record 267)
...
-> up until row number 2456 (whose id is 1245) and from here starts again the unique increment of the id column:
1245
1246
....
-> up until 4000 something - where it has a jump of several thousands.
6234
Я полагаю, что openrefine просто переписал все пропущенные записи и зафиксировал все идентификаторы дублирующихся строк с идентификатором первой из списка.
Кто-нибудь, кто знает, как работает openrefine, знает, как это инвертировать?