Bảng PDF sang ExcelPhát triển & tùy chỉnh

Script Python lấy bảng từ báo cáo, bảng giá hay sao kê PDF của bạn sang Excel

Thường xong trong 15 phútBao gồm chỉnh sửaKiểm tra chất lượng
Các gói
Bả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ả.

Script Python lấy bảng từ báo cáo, bảng giá hay sao kê PDF của bạn sang Excel

Ví dụ kết quả

Ví dụ cho gói Tiêu chuẩn

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

Bảng giá của nhà cung cấp, báo cáo ngân hàng hay sàn thương mại điện tử và danh sách tồn kho thường chỉ có dạng PDF, và chép bảng từ đó sang Excel làm vỡ cột. Script Python này đọc bảng trong PDF và ghi sang Excel hoặc CSV với các cột đúng chỗ: nối bảng kéo dài qua nhiều trang, bỏ dòng tiêu đề lặp lại và chân trang và, từ gói Tiêu chuẩn, biến 1 234,50 hay (120.00) thành số thật và ngày thành kiểu ngày. Script được điều chỉnh theo bố cục file của bạn, nên hãy gửi một hai file PDF điển hình hoặc cùng bố cục với số liệu giả. File PDF phải chứa chữ thật, như phần lớn file lưu ra từ phần mềm; bản scan và ảnh chụp giấy cần nhận dạng chữ, không nằm trong dịch vụ này. Bạn tự chạy script và kiểm tra tổng số.

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 tên cột và trang; code cũng được hiển thị trên trang đơn hàng.
  • Điều chỉnh theo bố cục của bạnViết và thử trên file mẫu bạn gửi
  • Cột đúng chỗMột dòng trong PDF là một dòng trong Excel
  • Nối nhiều trangBảng dài thành một sheet, không lặp tiêu đề
  • Số thậtTừ gói Tiêu chuẩn, số tiền và ngày có thể cộng và sắp xếp
  • Code dễ đọcCó chú thích, dễ điều chỉnh khi bố cục thay đổi

Cách hoạt động

  1. 1
    File mẫuBạn gửi một hai file PDF điển hình và chỉ ra bảng bạn cần
  2. 2
    CodeChúng tôi viết script cho bố cục đó và hướng dẫn chạy
  3. 3
    Chạy thửBạn chạy trên file của mình và đối chiếu tổng số với PDF
  4. 4
    Chỉ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

Một hai file PDF điển hình bạn hay nhận (hoặc cùng bố cục với tên và số liệu giả), bảng nào ở những trang nào bạn cần, và các cột bạn muốn trong Excel. Số được viết thế nào (dấu phẩy, khoảng trắng, dấu trừ hay dấu ngoặc) và định dạng ngày. Mọi file có cùng bố cục hay có nhiều loại, khoảng bao nhiêu file cần xử lý, và hệ điều hành của bạn: Windows, macOS hoặc Linux.

Chúng tôi sẽ hỏi bạn:

  • Đó là những file PDF gì?
  • Bạn cần những cột nào trong Excel?
  • Mọi file của bạn có giống nhau không?
  • Script sẽ chạy ở đâu?

So sánh các gói

Các góiCơ bảnMột bố cục bảng434.000 ₫Tiêu chuẩnBảng có file cài đặt894.000 ₫Cao cấpCông cụ bảng1.815.000 ₫
Thời hạn1 ngày2 ngày3 ngày
Số lần chỉnh sửa123
Codetối đa 150 dòngtối đa 400 dòngtối đa 1.000 dòng
Số file code1tối đa 3tối đa 8
File cài đặtKhôngCóCó
Thông báo lỗi rõ ràng và nhật kýKhôngCóCó
Tùy chọn chạy và hướng dẫn chạy theo lịchKhôngKhôngCó
Hướng dẫn cài đặt và chạy (README)CóCóCó
Ngôn ngữPythonPythonPython
Đặ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ộ.
Cách hoạt động →

Hỏi đáp

Script có dùng được với mọi file PDF không?

Script được làm cho bố cục của file mẫu bạn gửi. Nếu nhà cung cấp đổi bố cục, script có thể cần điều chỉnh. PDF không có chữ thật, như bản scan, không được hỗ trợ.

Làm sao biết PDF của tôi có chữ thật?

Mở file và thử bôi đen một từ bằng chuột. Nếu bôi đen và sao chép được, đó là chữ thật. Nếu cả trang bị chọn như một hình ảnh, đó là bản scan.

Script có thể sai không?

Có, bảng trong PDF không được lưu dưới dạng bảng, nên một dòng bất thường có thể làm vỡ một hàng. Vì vậy script ghi nhật ký những trang nó không chắc chắn, và bạn nên đối chiếu tổng số với PDF trước khi dùng kết quả.

Tôi có phải gửi báo cáo thật không?

Không. Cùng bố cục với số liệu giả cũng hiệu quả như vậy, rồi script chạy trên file thật của bạn ngay trên máy tính của bạn.

Chưa tìm thấy câu trả lời?

Các gói