Chào mọi người,
Dạo này mình đang loay hoay với việc cập nhật dữ liệu cho một file Excel tổng hợp. File này nhận dữ liệu từ nhiều nguồn khác nhau, có lúc là file CSV, có lúc là API trả về JSON. Làm thủ công vừa tốn thời gian vừa dễ sai sót.
Mình đã tìm hiểu và thử dùng Python để tự động hóa việc này. Với thư viện pandas, việc đọc và xử lý dữ liệu từ các định dạng khác nhau trở nên khá đơn giản.
Cụ thể, mình đã viết một script nhỏ để:
- Đọc dữ liệu từ một file CSV
- Gọi API để lấy dữ liệu JSON, sau đó chuyển đổi thành DataFrame
- Kết hợp hai nguồn dữ liệu này lại
- Cập nhật vào một file Excel có sẵn (hoặc tạo mới nếu chưa có)
Ví dụ đoạn code đơn giản để đọc CSV và cập nhật vào Excel:
import pandas as pd
# Đọc dữ liệu từ file CSV
data_csv = pd.read_csv('du_lieu_input.csv')
# Đọc dữ liệu từ file Excel hiện có
try:
df_excel = pd.read_excel('bao_cao_tong_hop.xlsx')
except FileNotFoundError:
df_excel = pd.DataFrame() # Tạo DataFrame rỗng nếu file chưa có
# Giả sử bạn muốn thêm dữ liệu từ CSV vào cuối file Excel
# Cần đảm bảo các cột khớp nhau hoặc xử lý thêm
updated_df = pd.concat([df_excel, data_csv], ignore_index=True)
# Lưu lại vào file Excel
updated_df.to_excel('bao_cao_tong_hop.xlsx', index=False)
print('Đã cập nhật dữ liệu thành công!')Đối với API trả về JSON, mình dùng requests để gọi và json.loads để parse, sau đó cũng chuyển thành DataFrame. Việc này giúp mình tiết kiệm rất nhiều công sức.
Có anh em nào đã từng làm tương tự hoặc có kinh nghiệm gì hay ho hơn không, chia sẻ cho mình với ạ?