Chào mọi người,
Dạo này mình đang làm dự án cần lấy dữ liệu từ MongoDB để phân tích trên Excel. Ban đầu mình định export ra CSV rồi import vào Excel, nhưng dữ liệu nhiều và thay đổi liên tục nên cách này khá thủ công.
Sau khi tìm hiểu, mình phát hiện ra có thể dùng Python để kết nối trực tiếp với MongoDB và trích xuất dữ liệu sang Excel. Cách này giúp tự động hóa hoàn toàn quy trình, tiết kiệm rất nhiều thời gian và công sức.
Dưới đây là các bước cơ bản mình đã thực hiện:
- Cài đặt thư viện cần thiết:
pymongođể kết nối MongoDB vàpandas,openpyxlđể làm việc với Excel. - Viết script Python để kết nối tới MongoDB, truy vấn dữ liệu theo yêu cầu.
- Sử dụng
pandasđể chuyển đổi dữ liệu query được thành DataFrame. - Lưu DataFrame này thành file Excel (
.xlsx).
Ví dụ đoạn code đơn giản để lấy dữ liệu từ một collection:
from pymongo import MongoClient
import pandas as pd
# Kết nối MongoDB
client = MongoClient('mongodb://localhost:27017/')
db = client['ten_database']
collection = db['ten_collection']
# Truy vấn dữ liệu
data = list(collection.find({}, {'_id': 0})) # Lấy tất cả, loại bỏ _id
# Chuyển thành DataFrame
df = pd.DataFrame(data)
# Lưu ra Excel
df.to_excel('du_lieu_tu_mongodb.xlsx', index=False)
print('Đã trích xuất dữ liệu thành công!')Mình thấy cách này rất hiệu quả, đặc biệt với các bạn làm việc với NoSQL database như MongoDB mà vẫn cần tận dụng sức mạnh của Excel cho việc báo cáo, phân tích.
Có anh em nào đã từng làm tương tự hoặc có cách nào hay hơn không, chia sẻ cho mình với nhé!