/*auto readmore*/ /*auto readmore*/ /* an hien script*/ // an hien password /*an hien ma chuong trinh cong tru */ /*Scrollbox thanh cuon*/ /***Nhung CODE***/ /* dòng xanh dòng trắng */ /* https://cdnjs.com/libraries/prism lay thu vien, can vao ten file ma goi 1. copy link vao vi du:prism-python.min.js 2. ten ngon nua la python */ /*=== New posts ===*/ /*header slider*/ /*=== bai viet lien quan===*/ /*===tabcode===*/

Thay đổi kích thước nhiều ảnh cùng lúc với Python

Kích thước lớn trong Power BI chủ yếu do dung lượng mô hình dữ liệu (Data Model), đặc biệt là các cột có độ phân giải cao và dữ liệu không cần thiết.

Để giảm dung lượng và tăng tốc độ tải, bạn cần:

  1. Loại bỏ các cột không dùng trong Power Query.

  2. Tối ưu hóa kiểu dữ liệu (ví dụ: chuyển từ Decimal sang Fixed Decimal).

  3. Sử dụng chế độ Import hợp lý.

Giảm kích thước file ảnh hàng loạt: Có thể dùng thư viện Python như Pillow (PIL) hoặc OpenCV để tự động thay đổi kích thước, nén chất lượng, và chuyển đổi định dạng ảnh (ví dụ: từ PNG sang JPG) nhằm tối ưu hóa dung lượng lưu trữ.

CODE tham khảo:

import os
from PIL import Image

def resize_image(input_folder, output_folder, max_size): 

    # Tạo thư mục nếu chưa có
    os.makedirs(output_folder, exist_ok=True)

    # max_size Giới hạn kích thước (pixel)
    
    for filename in os.listdir(input_folder):
        if filename.lower().endswith(('.jpg', '.jpeg', '.png')):
            
            img_path = os.path.join(input_folder, filename)
            img = Image.open(img_path)

            # Resize nhưng vẫn giữ tỷ lệ
            img.thumbnail(max_size, Image.LANCZOS)

            # Lưu với chất lượng nén (tối ưu cho Power BI)
            save_path = os.path.join(output_folder, filename)
            img.save(save_path, optimize=True, quality=80)

            print(f"Đã xử lý: {filename}")

if __name__ ==  "__main__":
    # Thư mục nguồn
    scr = r"D:\HocTap\PBI\base64\Pics"
    # Thư mục xuất ảnh sau resize
    dst = r"D:\HocTap\PBI\base64\Pics_resized"
    max_size = (800, 800)

    resize_image(input_folder, output_folder, max_size)


No comments:

Post a Comment

/*header slide*/