Tôi đã cạo một số trang web để thu thập dữ liệu của công ty. Dữ liệu địa chỉ là một trong số đó. Do thẻ HTML, tôi chỉ có thể xóa dữ liệu trong một 'thẻ'. Một ví dụ là đầu ra của dữ liệu của tôi có thể được nhìn thấy bên dưới.
Streetname housenumber zip-code city country
Street 1 1234 AB Amsterdam Netherlands
Longerstreetname 22 9876 XY Den Haag Netherlands
Name: Address, Length: 314, dtype: object
Bây giờ, tôi cần trích xuất mã zip [chỉ mã zip] vào một cột mới để phân tích thêm. Tôi chủ yếu sử dụng gấu trúc trong giai đoạn làm sạch dữ liệu của mình. [Tôi cần tìm hiểu trong tỉnh mà mỗi công ty được đặt]
Tôi đã tìm kiếm nhiều tùy chọn để tìm một phương thức để trích xuất mã zip, do đó tôi đã không thành công. Bất kỳ trợ giúp sẽ được rất nhiều đánh giá cao!
hỏi ngày 26 tháng 2 năm 2021 lúc 11:08Feb 26, 2021 at 11:08
5
Tôi nghĩ rằng bạn có thể sử dụng regex.
Example:
import re
address = '7802 Grant Avenue Egg Harbor Township, NJ 08234'
us_zip = r'[\d{5}\-?\d{0,4}]'
zip_code = re.search[us_zip, address]
zip_code.group[1]
Lưu ý quan trọng: Không có mẫu cụ thể cho mã zip trên toàn thế giới. Nếu bạn muốn cạo các công ty từ các quốc gia khác nhau, bạn nên triển khai Regex cho tất cả họ. There is no specific pattern for zip code around the world. If you want to scrape companies from different countries, you should implement regex for all of them.
Hy vọng tập tin này có thể giúp bạn. Mã zip regex
Đã trả lời ngày 26 tháng 2 năm 2021 lúc 11:32Feb 26, 2021 at 11:32
0
Nếu đầu ra mẫu được đăng trong câu hỏi là các giá trị trong một cột có tên Address
loại object
trong một khung dữ liệu, thì một cột mới có mã zip được trích xuất có thể được tạo như sau:
df['Zip Code'] = " ".join[str[df['Address']].split[" "][2:4]]
Đã trả lời ngày 26 tháng 2 năm 2021 lúc 11:27Feb 26, 2021 at 11:27
Trong hướng dẫn này, chúng tôi sẽ thảo luận về cách lấy mã zip của một vị trí cụ thể bằng cách sử dụng mô -đun Geopy trong Python. Geopy giúp người dùng Python dễ dàng xác định vị trí tọa độ của địa chỉ, thành phố và các quốc gia trên toàn thế giới.geopy module in Python. The geopy makes it easy for Python users to locate the coordinates of the address, cities, and countries across the whole world.
Để cài đặt mô -đun Geopy, người dùng có thể chạy lệnh sau:Geopy module, the user can run the following command:
Cách nhận mã zip
Chúng tôi sẽ làm theo các bước sau:
- Bước 1: Nhập mô -đun địa lý Import the geopy module
- Bước 2: Khởi tạo API nominatim để lấy vị trí từ chuỗi đầu vào. Initialize the Nominatim API for getting the location from the input string.
- Bước 3: Chúng tôi sẽ nhận được vị trí bằng cách sử dụng hàm Geo_Locator.geocode []. We will get the location by using a geo_locator.geocode[] function.
- Bước 4: Lấy thông tin từ danh sách đã cho và phân tích nó vào từ điển bằng cách sử dụng Ray Function [] Get the information from the given list and parse it into the dictionary by using ray function[]
- Bước 5: Trích xuất dữ liệu zip từ thể hiện vị trí. Extract the Zip data from the location instance.
Bước 1: Nhập mô -đun địa lý Import the geopy module
Bước 2: Khởi tạo API nominatim để lấy vị trí từ chuỗi đầu vào. Create the Nominatim object and initialize the Nominatim API by using the geoapiExercises parameter.
Bước 3: Chúng tôi sẽ nhận được vị trí bằng cách sử dụng hàm Geo_Locator.geocode []. Get the complete address by using geocode[] function
Output:
Ridgepoint Drive, Irving, Dallas County, Texas, 75063, United States
Bước 4: Lấy thông tin từ danh sách đã cho và phân tích nó vào từ điển bằng cách sử dụng Ray Function [] Get the information from the given list and parse it into the dictionary by using raw.
Output:
{' place_id ': 209975995, ' licence ': ' Data � OpenStreetMap contributors, ODbL 1.0. //osm.org/copyright ', ' osm_type ': ' way ', ' osm_id ': 567473012, ' boundingbox ': [' 32.908872 ', ' 32.9091407 ', ' -96.9887504 ', ' -96.9883353 '], ' lat ': ' 32.9088978 ', ' lon ': ' -96.9886835 ', ' display_name ': ' Ridgepoint Drive, Irving, Dallas County, Texas, 75063, United States ', ' class ': 'highway ', ' type ': ' tertiary ', ' importance ': 0.42000000000000004}
Bước 5: Trích xuất dữ liệu zip từ thể hiện vị trí. Extract the Zip data from the location instance.
Output:
The Full Location is: ['Ridgepoint', 'Drive,', 'Irving,', 'Dallas', 'County,', 'Texas,', '75063,', 'United', 'States'] The Zip code of the location is: 75063,
Bước 2: Tạo đối tượng nominatim và khởi tạo API nominatim bằng cách sử dụng tham số Geoapiexercise.
Thí dụ -
Output:
Disneyland Drive, Anaheim, Orange County, California, 92812-9998, United States {' place_id ': 211571693, ' licence ': ' Data � OpenStreetMap contributors, ODbL 1.0. //osm.org/copyright ', ' osm_type ': ' way ', ' osm_id ': 568143583, ' boundingbox ': [' 33.8184966 ', ' 33.8200236 ', ' -117.9229381 ', ' -117.9224363 '], ' lat ': ' 33.819073 ', ' lon ': ' -117.9226168 ', ' display_name ': 'Disneyland Drive, Anaheim, Orange County, California, 92812-9998, United States ', ' class ': ' highway ', ' type ': ' secondary ', ' importance ': 0.41000000000000003} The Full Location is: ['Disneyland', 'Drive,', 'Anaheim,', 'Orange', 'County,', 'California,', '92812-9998,', 'United', 'States'] The Zip code of the location is: 92812-9998,
Sự kết luận
Trong hướng dẫn này, chúng tôi đã thảo luận về cách người dùng có thể lấy mã zip của vị trí đã cho bằng cách sử dụng mô -đun Geopy trong Python. Chúng tôi cũng đã chỉ ra ví dụ để hiểu rõ hơn.