Hướng dẫn python get city from zip code - python lấy thành phố từ mã zip

Vì vậy, tôi có mã zip trong khung dữ liệu của mình và tôi muốn xây dựng một cột khác trong đó có chứa tên thành phố theo mã zip. Sẽ rất tốt nếu tôi cũng có thể trích xuất thông tin khác (chẳng hạn như trạng thái). Bây giờ tôi cũng sẽ cần điều này cho Đức, nhưng trong tương lai gần đối với các nước châu Âu khác.
For now I would need this for Germany only, but in the near future for other Europe countries, too.

Tôi đã tìm thấy một số giải pháp khả thi, nhưng chúng dường như chỉ dành cho chúng tôi (UszipCode) hoặc không tương thích với Python 3 (Pyzipcode, PygeodB) và tôi đang làm việc với Python v3.6.

Đã hỏi ngày 15 tháng 5 năm 2018 lúc 17:06May 15, 2018 at 17:06

Hướng dẫn python get city from zip code - python lấy thành phố từ mã zip

6

Rõ ràng là muộn, nhưng nếu có ai đến đây thông qua Google (như tôi đã làm), hãy xem điều này: https://pypi.org/project/uszipcode/

Điều này làm việc cho tôi

from uszipcode import SearchEngine, SimpleZipcode, Zipcode
search = SearchEngine()

def zco(x):
    city = search.by_zipcode(x).major_city
    return city if city else 'None'

df['metro'] = df['zipcode'].apply(zco)

Đã trả lời ngày 21 tháng 9 năm 2020 lúc 17:19Sep 21, 2020 at 17:19

Paul3349Paul3349Paul3349

4314 Huy hiệu bạc14 Huy hiệu đồng4 silver badges14 bronze badges

1

Hướng dẫn python get city from zip code - python lấy thành phố từ mã zip

Mã bưu điện mã hóa và tính toán khoảng cách

Pgeocode là một thư viện Python để truy vấn ngoại tuyến hiệu suất cao của tọa độ GPS, tên khu vực và tên đô thị từ mã bưu chính. Khoảng cách giữa các mã bưu chính cũng như các truy vấn khoảng cách chung cũng được hỗ trợ. Cơ sở dữ liệu Geonames đã qua sử dụng bao gồm mã bưu chính cho 83 quốc gia.

Hiện tại, chỉ có các truy vấn trong cùng một quốc gia được hỗ trợ.

Để biết thêm tài liệu, xem pgeocode.readthedocs.io.

Cài đặt

Pgeocode yêu cầu Python 3.6+ cũng như các gói Numpy và Pandas. Nó có thể được cài đặt với,numpy and pandas packages. It can be installed with,

pip install pgeocode

Bắt đầu nhanh

Truy vấn mã bưu điện

>>> import pgeocode

>>> nomi = pgeocode.Nominatim('fr')
>>> nomi.query_postal_code("75013")
postal_code               75013
country_code                 FR
place_name             Paris 13
state_name        Île-de-France
state_code                   11
county_name               Paris
county_code                  75
community_name            Paris
community_code              751
latitude                48.8322
longitude                2.3561
accuracy                      5

>>> nomi.query_postal_code(["75013", "69006"])
      postal_code place_name            state_name  latitude  longitude
0       75013   Paris 13         Île-de-France   48.8322     2.3561
1       69006    Lyon 06  Auvergne-Rhône-Alpes   45.7679     4.8506

Tính toán khoảng cách

>>> dist = pgeocode.GeoDistance('fr')
>>> dist.query_postal_code("75013", "69006")
389.156
>>> dist.query_postal_code(["75013", "75014", "75015"], ["69006", "69005", "69004"])
array([ 389.15648697,  390.12577967,  390.49857655])

Định dạng mã hóa địa lý

Kết quả của một truy vấn địa lý địa lý là một pandas.dataframe với các cột sau,pandas.DataFrame with the following columns,

  • Country_code: Mã quốc gia ISO, 2 ký tự: iso country code, 2 characters

  • Mã số bưu điện : postal code

  • place_name: Tên địa điểm (ví dụ: thị trấn, thành phố, v.v.) : place name (e.g. town, city etc)

  • State_Name: 1. Đặt hàng phân khu (trạng thái) : 1. order subdivision (state)

  • State_Code: 1. Đơn hàng phân khu (trạng thái) : 1. order subdivision (state)

  • County_name: 2. Đặt hàng phân khu (quận/tỉnh) : 2. order subdivision (county/province)

  • County_code: 2. Đơn đặt hàng phân khu (quận/tỉnh) : 2. order subdivision (county/province)

  • Community_name: 3. Đơn đặt hàng phân khu (cộng đồng) : 3. order subdivision (community)

  • Community_code: 3. Đơn đặt hàng phân khu (cộng đồng) : 3. order subdivision (community)

  • Vĩ độ: Vĩ độ ước tính (WGS84) : estimated latitude (wgs84)

  • Kinh độ: Kinh độ ước tính (WGS84) : estimated longitude (wgs84)

  • Độ chính xác: Độ chính xác của LAT/LNG từ 1 = ước tính đến 6 = Centroid : accuracy of lat/lng from 1=estimated to 6=centroid

Cấu hình và mặc định

Thư mục lưu trữ

Mặc định là ~/pgeocode_data, đó là thư mục nơi dữ liệu được tải xuống để tiêu thụ sau này. Nó có thể được thay đổi bằng cách sử dụng biến môi trường pgeocode_data_dir, tức là xuất pgeocode_data_dir =/tmp/pgeocode_data.~/pgeocode_data, it is the directory where data is downloaded for later consumption. It can be changed using the environment variable PGEOCODE_DATA_DIR, i.e. export PGEOCODE_DATA_DIR=/tmp/pgeocode_data.

Nguồn dữ liệu

Nguồn dữ liệu được cung cấp dưới dạng danh sách trong biến pgeocode.doad_url. Giá trị mặc định là,pgeocode.DOWNLOAD_URL variable. The default value is,

DOWNLOAD_URL = [
    "https://download.geonames.org/export/zip/{country}.zip",
    "https://symerio.github.io/postal-codes-data/data/geonames/{country}.txt",
]

Nguồn dữ liệu được thử từ đầu đến cuối cho đến khi một hoạt động. Ở đây liên kết thứ hai là một tấm gương của thứ nhất.

Cũng có thể mở rộng biến này với các nguồn dữ liệu của bên thứ ba, miễn là chúng tuân theo cùng một định dạng. Xem ví dụ Kho lưu trữ dữ liệu mã hóa mã bưu điện để biết các ví dụ về các tệp dữ liệu.

Giấy phép

Gói Pgeocode được phân phối theo giấy phép BSD 3 mệnh đề.

Các quốc gia được hỗ trợ

Danh sách các quốc gia có sẵn trong cơ sở dữ liệu Geonames, với các mã quốc gia tương ứng, được đưa ra dưới đây,

Andorra (AD), Argentina (AR), Samoa Mỹ (AS), Áo (AT), Úc (AU), Quần đảo Åland (AX), Bangladesh (BD), Bỉ (BE), Bulgaria (BG), Bermuda (BM ), Brazil (BR), Belarus (bởi), Canada (CA), Thụy Sĩ (CH), Colombia (CO), Costa Rica (CR), Séc (CZ), Đức (DE), Đan Mạch (DK), Cộng hòa Dominican . GG), Greenland (GL), Guadeloupe (GP), Guatemala (GT), Guam (Gu), Croatia (HR), Hungary (HU), Ireland (IE), Isle of Man (IM), Ấn Độ (IN), Iceland (IS), Ý (IT), Jersey (JE), Nhật Bản (JP), Liechtenstein (LI), Sri Lanka (LK), Litva (LT), Luxembourg (Lu), Latvia (LV), Monaco (MC) , Cộng hòa Moldova (MD), Quần đảo Marshall (MH), Cộng hòa Nam Tư cũ của Macedonia (MK), Quần đảo Bắc Mariana (MP), Martinique (MQ), Malta (MT), Mexico (MX), Malaysia (MY) , New Caledonia (NC), Hà Lan (NL), Na Uy (không), N EW Zealand (New Zealand), Philippines (PH), Pakistan (PK), Ba Lan (PL), Saint Pierre và Miquelon (PM), Puerto Rico (PR), Bồ Đào Nha (PT), Réunion (Re), Romania (RO), Liên đoàn Nga (RU), Thụy Điển (SE), Slovenia (SI), Quần đảo Svalbard và Jan Mayen (SJ), Slovakia (SK), San Marino (SM), Thái Lan (TH), Thổ Nhĩ Kỳ (TR), Ukraine (UA) , Hoa Kỳ (Hoa Kỳ), Uruguay (UY), Holy See (VA), Quần đảo Virgin thuộc Hoa Kỳ (VI), Quần đảo Wallis và Futuna (WF), Mayotte (YT), Nam Phi (ZA)

Xem cơ sở dữ liệu Geonames để biết thêm thông tin.

Làm thế nào để tôi có được thành phố hiện tại ở Python?

Phương pháp 2: Nhận tên vị trí từ vĩ độ và kinh độ..
Nhập mô -đun ..
Gọi công cụ nominatim ..
Vượt qua vĩ độ và kinh độ để đảo ngược ().
Tên vị trí in ..

Làm cách nào để sử dụng UszipCode trong Python?

Để cài đặt UszipCode Python, hãy mở Shell thiết bị đầu cuối hoặc lệnh của bạn và sau đó nhập PIP Cài đặt UszipCode.Nhấn Enter và đợi nó hoàn thành.Nếu bạn thấy một ghi chú thành công cài đặt, thì mô -đun này được cài đặt thành công.Nếu không, sau đó kiểm tra các lỗi được báo cáo và cố gắng sửa chúng.open your terminal or command shell and then type pip install uszipcode . Press enter and wait for it to complete. If you see an installation successful note, then this module is installed successfully. If not, then check for the reported errors and try to fix them.

Làm cách nào để tìm mã zip cho một địa chỉ trong Python?

Approach:..
Nhập mô -đun địa lý ..
Khởi tạo API nominatim để nhận vị trí từ chuỗi đầu vào ..
Nhận vị trí với geolocator.mã địa lý () chức năng ..
Bây giờ trích xuất dữ liệu zip từ thể hiện vị trí ..

Làm thế nào để tôi tìm thấy vĩ độ và kinh độ của một pin trong Python?

Các bước -..
Khởi tạo API Nominatium ..
Sử dụng geolocator.Reverse () hàm và cung cấp tọa độ (vĩ độ và kinh độ) để lấy dữ liệu vị trí ..
Nhận địa chỉ của vị trí bằng vị trí.....
Tạo nhãn bên trong cửa sổ Tkinter để hiển thị dữ liệu ..