CSV để phản đối JavaScript
Khi tôi đang học Node. Js Tôi luôn ngạc nhiên về mức độ dễ thực hiện của một số việc và mức độ khó thực hiện của những việc khác cũng như mức độ nghèo nàn của các ví dụ ngoài kia Show Trường hợp cụ thể, tôi muốn đọc một số dữ liệu từ tệp CSV và sau đó gửi dữ liệu đó tới Elaticsearch để lập chỉ mục. Phần Elaticsearch mình đã tìm hiểu rồi, còn trong Node. js thật dễ dàng. Tôi cho rằng việc tìm một ví dụ về đọc tệp, tạo các đối tượng dựa trên các hàng, xử lý các đối tượng và thực hiện tất cả những điều đó trong các khối khoảng 1000 hàng là chuyện nhỏ. Loại công cụ này dễ dàng trong C# và có rất nhiều ví dụ. Không phải trường hợp là Node. js Đây là hai cách để làm điều đó Bạn có thể tải xuống tệp CSV có tất cả các vở kịch của Shakespeare, nhưng ví dụ bạn có thể tải xuống ở trên chỉ có 650 dòng đầu tiên từ tệp đó Tôi muốn đọc tệp 100 hàng cùng một lúc, đặt các hàng vào các đối tượng rồi xử lý các hàng phân tích cú pháp csvMô-đun đầu tiên tôi gặp là csv-parse Chạy cái này từ bảng điều khiển -
Tôi có một lớp Trong ví dụ này, việc xử lý dữ liệu theo khối là không cần thiết, nhưng khi tôi xử lý toàn bộ tệp với hơn 130.000 hàng, việc chia khối trở nên quan trọng
Lưu ý cách tôi phải đảm bảo rằng mâm cặp cuối cùng cũng được xử lý trên dòng 22 Cách tiếp cận này có vẻ ổn, nhưng sau đó tôi tìm thấy mô-đun csvtojsonMô-đun này làm cho những gì tôi đang cố gắng thực hiện dễ dàng hơn một chút bằng cách bỏ qua nhu cầu xây dựng rõ ràng một đối tượng với dữ liệu từ các hàng trong tệp Đầu tiên cài đặt mô-đun -
Đây là mã -
Một lần nữa lưu ý cách tôi xử lý các đoạn 100, và sau đó là đoạn cuối cùng trên dòng 20 Tất cả những điều này là nhằm mục đích lập chỉ mục tất cả các tác phẩm của Shakespeare trong Elaticsearch và tôi sẽ trình bày trong một bài đăng khác Làm cách nào để chuyển đổi tệp CSV thành đối tượng trong JavaScript?Cách tiếp cận. . Đọc tệp csv bằng gói fs npm mặc định Chuyển đổi dữ liệu thành Chuỗi và chia thành một mảng Tạo một mảng tiêu đề Đối với tất cả n-1 hàng còn lại, hãy làm như sau. Tạo một đối tượng trống để thêm các giá trị của hàng hiện tại vào nó. . Chuyển đổi mảng kết quả thành json và tạo tệp đầu ra JSON Làm cách nào để chuyển đổi CSV thành mảng đối tượng trong JavaScript?Để chuyển đổi hoặc phân tích cú pháp dữ liệu CSV thành một mảng , bạn cần phải sử dụng lớp FileReader của JavaScript, lớp này chứa phương thức có tên readAsText() sẽ đọc dữ liệu tệp CSV và phân tích cú pháp . Lớp FileReader là một API web, vì vậy giải pháp này chỉ hoạt động trong trình duyệt. . The FileReader class is a web API, so this solution only works in the browser.
Tôi có thể chuyển đổi CSV sang JSON không?JSON yêu cầu dữ liệu phải ở dạng cấu trúc hoặc lược đồ, không tương thích với cấu trúc tệp CSV. Công cụ chuyển đổi CSV sang JSON được thiết kế để chuyển đổi các tệp CSV sang định dạng JSON một cách rất dễ dàng .
Làm cách nào để chuyển đổi tệp chuỗi CSV thành mảng đối tượng 2D bằng JavaScript?JavaScript. Chuyển đổi chuỗi giá trị được phân tách bằng dấu phẩy thành mảng 2D . Sử dụng mảng. nguyên mẫu. lát () và Mảng. . Sử dụng Chuỗi. nguyên mẫu. . Bỏ qua đối số thứ hai, dấu phân cách, để sử dụng dấu phân cách mặc định là , Bỏ qua đối số thứ ba, omitFirstRow, để bao gồm hàng đầu tiên (hàng tiêu đề) của chuỗi CSV |