Bỏ qua điều hướng
Blog

Kiểm tra CSV trước khi import website: duyệt cả thay đổi

CSV hợp lệ chưa chắc nhập an toàn. Checklist kiểm cấu trúc, mã định danh, cột trống, báo cáo thay đổi và khôi phục dữ liệu trước khi import.

Chia sẻFacebookLinkedInZalo
Kiểm tra CSV trước khi import website: duyệt cả thay đổi
Nội dung bài viết

File CSV mở được trong bảng tính chưa đủ để nhập vào website. Dữ liệu có thể đúng số cột nhưng sai mã sản phẩm, mất số 0 đầu hoặc làm trống trường đang có. Trước khi import, cần biết chính xác những bản ghi và trường nào sẽ được tạo, thay đổi hoặc giữ nguyên.

Quy trình dưới đây dành cho người quản trị dữ liệu và đội phát triển chức năng nhập liệu. Nó là checklist nghiệm thu, không giới thiệu một công cụ upload CSV mới của Onter.

Chốt hợp đồng dữ liệu trước khi mở file

Ghi tên hệ thống đích, mẫu cột đang áp dụng, mã định danh ổn định, encoding và ký tự phân cách. Xác định cột trống nghĩa là giữ nguyên, xóa giá trị hay báo lỗi. Ba ý nghĩa này không thể dùng thay nhau.

Ví dụ ở tài liệu nhập sản phẩm Shopify, khi bật ghi đè sản phẩm có handle trùng: cột không bắt buộc để trống có thể ghi đè dữ liệu thành trống, trong khi bỏ hẳn cột có thể giữ dữ liệu hiện tại. Nếu không chọn ghi đè, sản phẩm trùng handle được bỏ qua. Đây là quy tắc của Shopify trong điều kiện tài liệu mô tả; website khác phải đọc đúng hợp đồng import của nó.

Luồng kiểm tra CSV từ mẫu cột tới báo cáo thay đổi, duyệt và nhập nhóm nhỏ
Không nhảy thẳng từ “file hợp lệ” sang “ghi production”. Báo cáo thay đổi là cửa kiểm soát riêng.

Ba lớp kiểm tra có mục đích khác nhau

Lớp Câu hỏi cần trả lời Ví dụ lỗi
Cấu trúc Parser có đọc đúng cột và từng giá trị? Tên chứa dấu phẩy nhưng không được quote đúng
Ngữ nghĩa Giá trị có đúng quy tắc nghiệp vụ? Mã 0017 bị đổi thành 17; số lượng âm ngoài phạm vi cho phép
Tác động Lần nhập sẽ thay đổi gì trong dữ liệu đích? Cột mô tả trống xóa nội dung hiện hữu

RFC 4180 mô tả cách quote trường chứa dấu phẩy, xuống dòng và dấu ngoặc kép. File thực tế có thể dùng dialect khác; đội nhập cần thống nhất parser với nơi xuất file. Chia chuỗi bằng dấu phẩy đơn thuần không thay thế được parser CSV.

Ví dụ giả định: nhập 200 mã, chỉ 3 dòng đã đủ phát hiện sai

Doanh nghiệp chuẩn bị danh mục giả định 200 mã. Hãy lấy một nhóm thử gồm mã có số 0 đầu, mô tả nhiều dòng và bản ghi đã có trên website. Nhóm thử không chứng minh cả 200 dòng hợp lệ, nhưng giúp kiểm quy tắc trước khi chạy toàn bộ.

  • Mã 0017: sau parse và sau lưu vẫn là chuỗi “0017”, không thành số 17.
  • Tên “Bộ lọc, loại A”: nằm trong một trường; không làm lệch cột đơn vị.
  • Mã SP-028 đã có: báo cáo nêu rõ trường nào thay đổi. Mô tả trống phải xử lý theo lựa chọn đã duyệt, không im lặng xóa.

Báo cáo xem trước nên tách số bản ghi mới, số cập nhật, số không đổi và số bị từ chối; mỗi lỗi có dòng/cột/lý do. Chỉ đưa mã tra soát và thông tin cần sửa vào báo cáo; che dữ liệu khách hàng không cần thiết, không chép toàn bộ dòng riêng tư vào log. Tải lại file đã sửa phải tạo lượt kiểm tra mới. Nếu file hoặc quy tắc mapping thay đổi sau duyệt, kết quả duyệt cũ không còn áp dụng.

CSV có thể trở thành công thức khi mở bằng bảng tính

OWASP CSV Injection cảnh báo dữ liệu không tin cậy có thể được phần mềm bảng tính diễn giải thành công thức. Parser đọc CSV thành công không giải quyết nguy cơ này. Đặc biệt chú ý đường xuất báo cáo lỗi rồi nhân viên mở lại bằng bảng tính.

Giữ dữ liệu gốc ở vùng kiểm soát, chọn cơ chế xuất an toàn theo ứng dụng bảng tính và chính sách bảo mật của hệ thống. Không tự thêm ký tự vào mọi giá trị trong file nguồn: cách đó có thể làm hỏng mã hoặc dữ liệu hợp lệ. Việc hiển thị trên web cũng cần xử lý theo ngữ cảnh; kiểm đầu vào không thay thế các biện pháp bảo vệ đầu ra.

Đủ điều kiện ghi và đủ điều kiện khôi phục

  1. Lưu bản sao dữ liệu đích và xác định cách khôi phục các trường sẽ bị thay đổi.
  2. Ghi danh tính người duyệt, hash/phiên bản file, mapping và báo cáo thay đổi đã duyệt.
  3. Nhập nhóm nhỏ trong môi trường thử trước; đối chiếu sau lưu, không chỉ đọc thông báo “thành công”.
  4. Khi nhập chính thức, theo dõi lỗi từng nhóm và dừng theo ngưỡng đã thống nhất; không tự retry một batch không rõ đã ghi đến đâu.

Nếu mục tiêu là chuẩn bị thông tin để khách hỏi báo giá, hãy bắt đầu từ cấu trúc dữ liệu catalogue. Nếu mục tiêu là dữ liệu đưa ra kênh tìm kiếm/mua sắm, xem thêm SKU và biến thể trong Product Feed. Hai nhiệm vụ này khác bước kiểm soát ghi dữ liệu vào website.

Cần trao đổi quy trình nhập liệu phù hợp hệ thống hiện tại? Gửi yêu cầu cho Onter kèm mẫu đã bỏ dữ liệu riêng tư và mô tả cách xử lý bản ghi trùng. Khả năng tích hợp, phạm vi và chi phí cần được xác nhận riêng; không upload dữ liệu khách hàng vào công cụ lạ chỉ để thử.

Tài khoản Onter

Đăng nhập rồi tiếp tục việc đang làm.

Mở trang đăng nhập riêng nếu trình duyệt chưa hiển thị biểu mẫu.

Contact Me on Zalo