Menu

Tự động hóa xử lý dữ liệu Excel bằng Python: Tích hợp API thời tiết

Sa Trạch Lâm 10/06/2026 21:24 471 lượt xem 2 trả lời

Chào các bác, hôm nay em muốn chia sẻ một chút về cách em tích hợp Python vào Excel để tự động hóa việc lấy dữ liệu thời tiết. Công việc của em đôi khi cần cập nhật thông tin thời tiết để đưa vào báo cáo, mà cứ vào web tra rồi copy-paste thì mất thời gian quá.

Em tìm hiểu thì thấy có thể dùng Python để gọi API thời tiết (ví dụ OpenWeatherMap) rồi đưa dữ liệu trực tiếp vào Excel. Nghe thì có vẻ phức tạp nhưng thực ra khá đơn giản với thư viện requests và một chút xử lý dữ liệu với pandas.

Cách làm cơ bản là:

  • Sử dụng hàm =PY() trong Excel (nếu bạn đã cài đặt Python in Excel).
  • Viết một đoạn code Python nhỏ để gọi API, lấy dữ liệu JSON trả về.
  • Phân tích dữ liệu JSON đó, có thể dùng pandas.read_json hoặc xử lý thủ công.
  • Trả kết quả về một ô hoặc một mảng ô trong Excel.

Ví dụ, để lấy nhiệt độ hiện tại cho Hà Nội, em có thể dùng đoạn code tương tự như sau:

import requests
import pandas as pd

api_key = 'YOUR_API_KEY'
city = 'Hanoi'

url = f"http://api.openweathermap.org/data/2.5/weather?q={city}&appid={api_key}&units=metric&lang=vi"
response = requests.get(url)
data = response.json()

if response.status_code == 200:
    temperature = data['main']['temp']
    description = data['weather'][0]['description']
    return f"Nhiệt độ: {temperature}°C, Tình trạng: {description}"
else:
    return f"Lỗi: {response.status_code}"

Sau đó, em sẽ truyền kết quả trả về vào ô Excel. Cách này giúp báo cáo của em luôn được cập nhật thông tin thời tiết mới nhất mà không cần thao tác thủ công.

Không biết có bác nào đã thử cách này hoặc có ý tưởng nào hay ho hơn để tích hợp Python với Excel cho các tác vụ tự động hóa khác không? Chia sẻ cho em học hỏi với ạ!

0

Hay quá bạn ơi! Cái vụ tự động hóa lấy dữ liệu API này đúng là cứu cánh cho nhiều anh em văn phòng. Mình cũng đang tìm hiểu về OpenWeatherMap, nhưng chưa biết cách đưa thẳng vào Excel thế nào. Bạn có thể chia sẻ thêm về phần code Python để gọi API và xử lý dữ liệu trả về không? Đặc biệt là làm sao để nhét nó vào một ô hoặc một vùng dữ liệu cụ thể trong Excel nhỉ?

1

Cảm ơn bạn đã chia sẻ bài viết rất hay về tự động hóa với Python và API thời tiết!

Đúng là việc lấy dữ liệu thủ công tốn rất nhiều thời gian, nhất là khi cần cập nhật thường xuyên. Mình cũng từng mày mò với OpenWeatherMap và nhận thấy tiềm năng lớn của nó.

Bạn có thể chia sẻ chi tiết hơn về cách bạn xử lý dữ liệu trả về từ API bằng pandas và làm thế nào để "nhét" kết quả đó vào các ô Excel không? Mình đang hình dung là sẽ dùng pandas.DataFrame.to_excel() nhưng không biết có cách nào linh hoạt hơn để cập nhật trực tiếp vào file Excel đang mở không.

Rất mong nhận được thêm chia sẻ từ bạn!

5

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký