Chào mọi người, dạo gần đây mình có làm việc với một dự án cần lấy thông tin chi tiết về các địa điểm kinh doanh từ địa chỉ trong file Excel. Thay vì ngồi copy-paste thủ công lên Google Maps rồi chép lại, mình đã nghĩ đến việc dùng Python để tự động hóa. Cuối cùng, mình đã tích hợp thành công API của Google Maps vào Excel!
Ý tưởng là thế này: Mình có một danh sách các địa chỉ trong một cột Excel. Mình sẽ dùng Python để đọc danh sách này, sau đó gửi từng địa chỉ đến API Google Maps để lấy về các thông tin như tên địa điểm, loại hình kinh doanh, đánh giá trung bình, v.v.
Cách thực hiện cơ bản:
- Cài đặt thư viện
googlemapstrong Python. - Lấy API key từ Google Cloud Platform.
- Viết một đoạn script Python để lặp qua các dòng dữ liệu Excel (sử dụng thư viện
pandashoặcopenpyxl), gọi API Google Maps với địa chỉ tương ứng. - Ghi kết quả trả về vào các cột mới trong file Excel.
Ví dụ, để lấy tên địa điểm và loại hình kinh doanh, bạn có thể dùng code tương tự như sau:
import googlemaps
import pandas as pd
# Khởi tạo client với API key của bạn
gmaps = googlemaps.Client(key='YOUR_API_KEY')
# Đọc file Excel
df = pd.read_excel('your_file.xlsx')
# Lấy thông tin cho từng địa chỉ
for index, row in df.iterrows():
address = row['Địa chỉ'] # Giả sử cột địa chỉ tên là 'Địa chỉ'
try:
geocode_result = gmaps.geocode(address)
if geocode_result:
place_name = geocode_result[0]['name']
place_types = geocode_result[0]['types']
df.loc[index, 'Tên địa điểm'] = place_name
df.loc[index, 'Loại hình'] = ', '.join(place_types)
else:
df.loc[index, 'Tên địa điểm'] = 'Không tìm thấy'
df.loc[index, 'Loại hình'] = ''
except Exception as e:
df.loc[index, 'Tên địa điểm'] = f'Lỗi: {e}'
df.loc[index, 'Loại hình'] = ''
# Lưu lại file Excel đã cập nhật
df.to_excel('output_file.xlsx', index=False)
Cách này giúp tiết kiệm rất nhiều thời gian và công sức, đặc biệt khi bạn có hàng trăm, thậm chí hàng nghìn địa chỉ cần xử lý. Anh em nào đã từng thử tích hợp API vào Excel bằng Python chia sẻ thêm kinh nghiệm nhé!