Lập trìnhBảo vệ thanh toánChi tiết
- Chỉnh sửa trong phạm vi gói là miễn phí.
- Nếu bạn không phản hồi trong vòng 3 ngày sau khi bàn giao, kết quả sẽ được tự động chấp nhận.
Số tiền được tạm giữ khi bạn thanh toán và chỉ được chuyển khi bạn chấp nhận kết quả.

Ví dụ kết quả
Gộp file doanh số hằng tháng của 9 cửa hàng thành một báo cáo Excel
Cách chạy
python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO Thư mục: sales/2026-10, tìm thấy 9 file
2026-11-02 09:14:03 INFO shop-01.csv: 1.284 dòng
2026-11-02 09:14:04 INFO shop-02.xlsx: 967 dòng
2026-11-02 09:14:04 WARN shop-07.csv: bỏ qua 3 dòng không có giá (dòng 88, 412, 913)
2026-11-02 09:14:05 INFO Xong: 10.412 dòng -> report-2026-10.xlsx (sheet “Doanh số” và “Tổng cộng”)
Cài đặt, không phải code
Tên cột của từng cửa hàng nằm trong settings.ini, nên thêm cửa hàng mới hay đổi tên cột chỉ là thêm một dòng ở đó:
[columns]
date = Ngày, Ngày bán, Ngày giao dịch
product = Sản phẩm, Mặt hàng, Tên hàng
quantity = SL, Số lượng, Cái
price = Giá, Đơn giá
Một phần code
def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
"""Đọc file của một cửa hàng và đặt cho các cột tên theo báo cáo."""
table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
renamed = {}
for name, variants in columns.items():
found = next((c for c in table.columns if c.strip() in variants), None)
if found is None:
raise ReportError(f"{path.name}: không có cột cho “{name}” (đã tìm: {', '.join(variants)})")
renamed[found] = name
table = table.rename(columns=renamed)[list(columns)]
table["shop"] = path.stem
return table
File bàn giao: file ZIP gồm merge_sales.py (310 dòng), settings.ini, requirements.txt và README hướng dẫn cài Python, chạy script và ý nghĩa của từng thông báo trong nhật ký. Khách hàng tự chạy script trên máy tính của mình.
Khách hàng: một chuỗi nhỏ gồm 9 cửa hàng văn phòng phẩm; mỗi cửa hàng gửi doanh số của tháng dưới dạng file CSV hoặc Excel, với tên cột hơi khác nhau. Yêu cầu: một script đọc mọi file trong một thư mục, đưa các cột về cùng một dạng và ghi ra một báo cáo Excel duy nhất gồm toàn bộ doanh số và một sheet tổng theo từng cửa hàng.
Khách hàng và mọi thông tin đều là giả định.
Về dịch vụ này
Ảnh lấy thẳng từ máy ảnh hay điện thoại thường nặng 5-10 MB mỗi ảnh: quá nặng cho trang sản phẩm, album trên website hay email. Script Python này đi qua một thư mục và lưu bản nhỏ hơn của từng ảnh: vừa với chiều rộng hoặc chiều cao bạn đặt mà không bị kéo giãn, nén theo chất lượng bạn chọn, dạng JPEG hoặc PNG. Từ gói Tiêu chuẩn, script có thể tạo nhiều kích thước cùng lúc và xóa thông tin ẩn trong ảnh, như máy chụp và nơi chụp. Ảnh gốc giữ nguyên, kết quả được lưu vào thư mục riêng. Gửi cho chúng tôi các kích thước bạn cần và hai ba ảnh mẫu. Bạn tự chạy script trên máy tính của mình. Script thu nhỏ và nén; không chỉnh sửa ảnh, tách nền hay chỉnh màu.
Bao gồm những gì
- Bạn nhận được gìFile ZIP gồm script Python, README hướng dẫn từng bước và, từ gói Tiêu chuẩn, file cài đặt chứa kích thước và chất lượng của bạn; code cũng được hiển thị trên trang đơn hàng.
- Không kéo giãnGiữ tỷ lệ; chỉ cắt hoặc thêm viền khi bạn yêu cầu
- Chất lượng do bạn chọnFile nhẹ hơn với độ nét bạn hài lòng
- Giữ ảnh gốcBản sao được lưu vào thư mục riêng
- Xóa thông tin ẩnTừ gói Tiêu chuẩn, xóa dữ liệu máy chụp và vị trí nếu bạn muốn
- Code dễ đọcCó chú thích, dễ đổi kích thước về sau
Cách hoạt động
- 1Kích thướcBạn đưa kích thước và gửi vài ảnh mẫu
- 2CodeChúng tôi viết script và hướng dẫn chạy
- 3Chạy thửBạn chạy trên một thư mục và xem các bản sao
- 4Chỉnh sửaBạn yêu cầu chỉnh sửa trong phạm vi gói và gửi thông báo lỗi nếu có
Chúng tôi cần gì từ bạn
Các kích thước bạn cần tính bằng pixel (ví dụ rộng 1600 px cho website và 400x400 cho ảnh thu nhỏ) hoặc kích thước nền tảng cửa hàng yêu cầu, khi khác tỷ lệ thì cắt hay thêm viền, định dạng file và giới hạn dung lượng nếu có, như dưới 300 KB. Hai ba ảnh của bạn làm mẫu, khoảng bao nhiêu ảnh và có nằm trong thư mục con không. Hệ điều hành của bạn: Windows, macOS hoặc Linux.
Chúng tôi sẽ hỏi bạn:
- Ảnh sẽ dùng ở đâu?
- Bạn cần những kích thước nào?
- Có giới hạn dung lượng hay định dạng không?
- Script sẽ chạy ở đâu?
So sánh các gói
| Các gói | Cơ bảnMột kích thước434.000 ₫ | Tiêu chuẩnNhiều kích thước có file cài đặt894.000 ₫ | Cao cấpCông cụ xử lý ảnh1.815.000 ₫ |
|---|---|---|---|
| Thời hạn | 1 ngày | 2 ngày | 3 ngày |
| Số lần chỉnh sửa | 1 | 2 | 3 |
| Code | tối đa 150 dòng | tối đa 400 dòng | tối đa 1.000 dòng |
| Số file code | 1 | tối đa 3 | tối đa 8 |
| File cài đặt | Không | Có | Có |
| Thông báo lỗi rõ ràng và nhật ký | Không | Có | Có |
| Tùy chọn chạy và hướng dẫn chạy theo lịch | Không | Không | Có |
| Hướng dẫn cài đặt và chạy (README) | Có | Có | Có |
| Ngôn ngữ | Python | Python | Python |
| Đặt hàng Cơ bản | Đặt hàng Tiêu chuẩn | Đặt hàng Cao cấp |
Bảo vệ thanh toán
Bạn thanh toán khi đặt hàng, nhưng tiền chỉ được chuyển cho kết quả đã được chấp nhận.
- Giá cố địnhGiá gói không thay đổi sau khi bạn thanh toán.
- Số tiền được tạm giữKhi bạn thanh toán, số tiền chỉ được tạm giữ. Tiền được chuyển cho dịch vụ khi bạn chấp nhận kết quả.
- Kiểm tra trước khi bàn giaoMọi kết quả đều được kiểm tra chất lượng trước khi đến tay bạn, và bạn xem được kết quả trên trang đơn hàng trước khi chấp nhận.
- Chỉnh sửa miễn phíYêu cầu chỉnh sửa trong phạm vi bản yêu cầu của bạn, với số lần mà gói cho phép.
- Tự động chấp nhận sau 3 ngàyNếu trong vòng 3 ngày sau khi bàn giao, bạn không chấp nhận kết quả cũng không yêu cầu chỉnh sửa, kết quả sẽ được tự động chấp nhận. Nếu bạn nhắn tin trong chat đơn hàng sau khi bàn giao, đơn hàng sẽ chờ; sau khi trả lời, chúng tôi có thể tính lại 3 ngày từ đầu và sẽ thông báo trong chat.
- Làm lại hoặc hoàn tiền toàn bộNếu kết quả không đúng với yêu cầu của bạn và các lần chỉnh sửa không khắc phục được, hoặc công việc kéo dài quá gấp đôi thời hạn, hãy nhắn tin trong chat đơn hàng: chúng tôi sẽ làm lại hoặc hoàn tiền toàn bộ.
Hỏi đáp
Script đọc được những định dạng nào?
JPEG, PNG, GIF, BMP, TIFF và WebP. Ảnh HEIC từ iPhone và file RAW từ máy ảnh cần thêm thư viện; hãy cho biết nếu bạn có, chúng tôi sẽ nói chúng có nằm trong gói của bạn không.
Ảnh có bị giảm chất lượng không?
Có giảm một chút, như mọi kiểu nén, nhưng ở mức cài đặt thông thường thì khó nhận ra trên màn hình. Bạn đặt chất lượng trong file cài đặt và có thể thử vài mức trên ảnh mẫu.
Script có tạo cả WebP không?
Có, script có thể lưu WebP cạnh JPEG trong cùng gói. Nếu WebP là mục tiêu chính, hãy xem dịch vụ chuyển ảnh sang WebP của chúng tôi.
Các bạn có thu nhỏ ảnh giúp tôi không?
Không. Bạn chạy script trên máy tính của mình, nên ảnh vẫn ở chỗ bạn. Chúng tôi chỉ cần vài ảnh mẫu.
Chưa tìm thấy câu trả lời?


