Chào mọi người,
Dạo gần đây mình có làm một dự án nhỏ để tự động hóa việc lấy dữ liệu từ một API bên ngoài, sau đó xử lý và trực quan hóa bằng Excel. Mình nhận thấy Python thực sự là một công cụ mạnh mẽ khi kết hợp với Excel, đặc biệt là khi làm việc với dữ liệu lớn hoặc cần tự động hóa các tác vụ lặp đi lặp lại.
Trong bài viết này, mình muốn chia sẻ cách mình đã làm để:
- Lấy dữ liệu từ một API (ví dụ: API thời tiết hoặc tỷ giá).
- Xử lý dữ liệu bằng thư viện Pandas.
- Tạo biểu đồ trực quan từ dữ liệu đã xử lý và lưu vào file Excel bằng Matplotlib.
Đầu tiên, bạn cần cài đặt các thư viện cần thiết:
pip install requests pandas matplotlib openpyxlTiếp theo là code Python:
import requests
import pandas as pd
import matplotlib.pyplot as plt
# Bước 1: Lấy dữ liệu từ API
api_url = "YOUR_API_ENDPOINT"
response = requests.get(api_url)
data = response.json()
# Bước 2: Xử lý dữ liệu với Pandas
df = pd.DataFrame(data['results']) # Giả sử dữ liệu trả về có key 'results'
# Thực hiện các phép xử lý dữ liệu tại đây, ví dụ:
df['date'] = pd.to_datetime(df['timestamp'], unit='s')
df = df.set_index('date')
# Bước 3: Tạo biểu đồ với Matplotlib
plt.figure(figsize=(10, 6))
plt.plot(df['value'], label='Giá trị') # Giả sử có cột 'value'
plt.title('Biểu đồ giá trị theo thời gian')
plt.xlabel('Thời gian')
plt.ylabel('Giá trị')
plt.legend()
plt.grid(True)
# Lưu biểu đồ vào file Excel
output_filename = "report.xlsx"
with pd.ExcelWriter(output_filename, engine='openpyxl') as writer:
df.to_excel(writer, sheet_name='Data')
# Lưu biểu đồ vào sheet khác
workbook = writer.book
worksheet = workbook.create_sheet('Chart')
# Cách lưu biểu đồ vào Excel khá phức tạp, ở đây mình chỉ minh họa ý tưởng
# Bạn có thể tìm hiểu thêm về cách nhúng biểu đồ vào Excel bằng openpyxl
# hoặc đơn giản là lưu ảnh biểu đồ riêng rồi chèn thủ công.
plt.savefig('chart.png')
# from openpyxl.drawing.image import Image
# img = Image('chart.png')
# worksheet.add_image(img, 'B2')
print(f"Đã tạo báo cáo và biểu đồ tại {output_filename}")
Cách nhúng biểu đồ vào Excel có thể hơi phức tạp, nhưng bạn có thể lưu ảnh biểu đồ ra file riêng rồi chèn thủ công vào file Excel sau khi chạy script. Hoặc tìm hiểu sâu hơn về thư viện openpyxl để tự động hóa việc này.
Hy vọng chia sẻ này hữu ích cho các bạn đang muốn tự động hóa công việc với Excel bằng Python.