options( java.parameters = "-Xmx4g" ) IrszUrl <- "https://www.posta.hu/static/internet/download/Iranyitoszam-Internet_uj.xlsx" HnkUrl <- "https://www.ksh.hu/docs/hun/hnk/hnk_2019.xlsx" temp <- tempfile() download.file( IrszUrl, temp, mode = "wb" ) Irsz <- XLConnect::readWorksheetFromFile( temp, sheet = "Települések" ) Irsz$Település <- trimws( Irsz$Település ) Irsz <- Irsz[ !grepl( "*", Irsz$Település, fixed = TRUE ), ] IrszTemp <- XLConnect::readWorksheetFromFile( temp, sheet = "Bp.u." ) IrszTemp$KER[ IrszTemp$KER%in%c( "0", "Margitsziget" ) ] <- "XIII." IrszTemp$Település <- paste0( "Budapest ", formatC( as.numeric( as.roman( gsub( ".", "", IrszTemp$KER, fixed = TRUE ) ) ), width = 2, flag = "0" ), ". ker." ) IrszTemp$Településrész <- "" Irsz <- rbind( Irsz, IrszTemp[ , c( "IRSZ", "Település", "Településrész" ) ] ) for ( t in c( "Miskolc", "Debrecen", "Szeged", "Pécs", "Győr" ) ) { IrszTemp <- XLConnect::readWorksheetFromFile( temp, sheet = paste0( t, " u." ) ) names( IrszTemp )[ names( IrszTemp )=="IRSZ." ] <- "IRSZ" IrszTemp$Település <- t IrszTemp$Településrész <- "" Irsz <- rbind( Irsz, IrszTemp[ , c( "IRSZ", "Település", "Településrész" ) ] ) } unlink( temp ) Irsz <- Irsz[ !duplicated( Irsz ), ] temp <- tempfile() download.file( HnkUrl, temp, mode = "wb" ) Hnk <- XLConnect::readWorksheetFromFile( temp, sheet = 1 ) Hnk <- Hnk[ !is.na( Hnk$Helység ), ] names( Hnk )[ 1:3 ] <- paste0( names( Hnk )[ 1 ], ".", Hnk[ 1, 1:3 ] ) names( Hnk )[ 5:7 ] <- paste0( names( Hnk )[ 5 ], Hnk[ 1, 5:7 ] ) names( Hnk )[ 8:9 ] <- paste0( names( Hnk )[ 8 ], ".", Hnk[ 1, 8:9 ] ) names( Hnk )[ 14:26 ] <- paste0( names( Hnk )[ 14 ], ".", Hnk[ 1, 14:26 ] ) names( Hnk ) <- trimws( names( Hnk ) ) Hnk <- Hnk[ -1, ] unlink( temp ) Hnk <- Hnk[ !is.na( Hnk$Megye.megnevezése. ), ] names( Irsz )[ 2 ] <- names( Hnk )[ 1 ] IrszHnk <- merge( Irsz, Hnk, by = "Helység.megnevezése" ) IrszHnk <- IrszHnk[ !duplicated( IrszHnk ), ] write.csv2( IrszHnk, "IrszHnk.csv", row.names = FALSE ) saveRDS( IrszHnk, "IrszHnk.rds" )