Home WordPress Đổi file CSV sang SQL

Đổi file CSV sang SQL

0
Đổi file CSV sang SQL

Xin chào mọi người, hôm nay tôi muốn chia sẻ câu chuyện về một nhiệm vụ thú vị: chuyển đổi hàng ngàn file CSV sang SQL. Hy vọng kinh nghiệm này sẽ hữu ích cho các bạn khi gặp phải tình huống tương tự.

Khởi đầu gian nan

Ban đầu, chúng tôi được giới thiệu một công cụ trực tuyến để chuyển đổi. Tuy nhiên, với số lượng file lên đến 9480, việc chuyển đổi thủ công trở nên bất khả thi. Tôi đã thử tìm kiếm các package PHP hỗ trợ nhưng không có kết quả khả quan.

Thử thách và khám phá

Trong lúc loay hoay chuyển đổi thủ công từng file, tôi nhận ra rằng đây không phải là cách làm hiệu quả cho một lập trình viên. Sau đó, tôi được cung cấp một đoạn script NodeJS, nhưng nó cũng không đáp ứng được yêu cầu do lỗi trùng tên cột và ký tự đặc biệt.

Một số dữ liệu đặc biệt cũng không được xử lý dẫn đến file bị lỗi và cần phải sửa bằng tay, nhưng tôi không muốn thế tôi cần phải xử lý gọn lẹ trước khi đưa file về cho team.

Giải pháp tối ưu

Cuối cùng, tôi quyết định tự viết một script PHP để xử lý vấn đề. Script này bao gồm các chức năng tạo bảng, chèn dữ liệu, xử lý trùng tên cột và kiểu dữ liệu. Sau 4 tiếng nỗ lực, tôi đã hoàn thành và kiểm tra thành công việc chuyển đổi.

Nói gì thì nói chứ PHP là ngôn ngữ thuận tay, và kiểu gì tôi cũng lôi về PHP để xử lý, những dự án như chuyển đổi file CSV sang SQL này thì PHP hoàn toàn đáp ứng được, không nhất thiết phải là python hay cái gì đó đại loại khác.

Chia sẻ giải pháp

Tôi đã chia sẻ mã nguồn của script này trên GitHub tại địa chỉ: https://github.com/binjuhor/csvtosql. Các bạn có thể sử dụng bằng cách đặt file CSV vào thư mục “CSV” và chạy file “index.php”. Trong tương lai, tôi dự định sẽ phát triển nó thành một composer package để tiện sử dụng hơn.

Tôi nghĩ rằng nó không có ích gì cho các bạn cả, bởi vì file này chủ yếu là dành cho trường hợp của bản thân mình, chứ không có tác dụng gì nhiều lắm với các bạn, mình chỉ muốn log lại ở đây, để biết đâu mọi người có cách nào đó tối ưu hơn, có thể comment lại và mình học được một thứ mới 🙂

Lời khuyên

Nếu bạn chỉ cần chuyển đổi một số lượng nhỏ file CSV, các công cụ trực tuyến có thể là lựa chọn phù hợp. Tuy nhiên, với số lượng lớn như trường hợp của tôi, viết script sẽ là giải pháp hiệu quả hơn về thời gian và khả năng tùy chỉnh.

Tôi biết rằng các bạn có thể một cách nào đó giỏi hơn tôi và biết nhiều hơn tôi, hoặc đơn giản bây giờ mình có thể dùng Ai vào công việc này, nhưng với tôi PHP vẫn là chân ái.
Việc chuyển đổi file CSV sang SQL của tôi đã hoàn thành, tôi nghĩ 4 tiếng không quá nhiều và có thể chấp nhận được.

Cuối cùng

Hy vọng bài viết này sẽ giúp ích cho các bạn trong công việc. Nếu có bất kỳ đóng góp hoặc ý kiến nào, xin vui lòng tạo issue trên GitHub. Xin cảm ơn!

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Website này sử dụng Akismet để hạn chế spam. Tìm hiểu bình luận của bạn được duyệt như thế nào.