JavaScript có thể đọc tệp CSV không?

Chào mừng bạn đến với hướng dẫn về cách đọc và phân tích tệp CSV thành một mảng hoặc đối tượng trong Javascript. Bạn cần đọc tệp CSV trong dự án của mình? . Không yêu cầu tập lệnh phía máy chủ – Đọc tiếp để biết các ví dụ

ⓘ Tôi đã bao gồm một tệp zip chứa tất cả mã nguồn khi bắt đầu hướng dẫn này, vì vậy bạn không cần phải sao chép-dán mọi thứ… Hoặc nếu bạn chỉ muốn đi sâu vào

 

 

TLDR – TRANG TRÌNH BÀY NHANH

Tải xuống & Ghi chú

 

TẢI XUỐNG & LƯU Ý

Đầu tiên, đây là liên kết tải xuống mã ví dụ như đã hứa

 

GHI CHÚ NHANH

Nếu bạn phát hiện ra một lỗi, hãy bình luận bên dưới. Tôi cũng cố gắng trả lời các câu hỏi ngắn, nhưng đó là một người so với cả thế giới… Nếu bạn cần câu trả lời gấp, vui lòng xem danh sách các trang web của tôi để được trợ giúp về lập trình

 

MÃ VÍ DỤ TẢI XUỐNG

Nhấp vào đây để tải xuống tất cả mã nguồn ví dụ, tôi đã phát hành nó theo giấy phép MIT, vì vậy hãy thoải mái xây dựng trên mã nguồn đó hoặc sử dụng nó trong dự án của riêng bạn

 

 

ĐỌC và PHÂN TÍCH CSV

Được rồi, bây giờ chúng ta hãy đi vào các ví dụ về cách đọc và phân tích tệp CSV thành một mảng/đối tượng trong Javascript

 

VÍ DỤ 1) PHÂN TÍCH CSV THÀNH MỘT Mảng

1A) CSV GIẢ

1-hình nộm. csv

Joa Doe,[email protected],123456
Job Doe,[email protected],234567
Joe Doe,[email protected],345678
Joi Doe,[email protected],456789
Jon Doe,[email protected],987654
"Joy, Doe",[email protected],124578

Đối với ví dụ này, chúng tôi sẽ sử dụng danh sách người dùng giả này. Đối với những người không quen biết, các tệp CSV không gì khác hơn là “văn bản thuần túy có định dạng”

  • , Dấu phẩy được dùng để biểu thị các cột
  • \r\n Các dòng mới được sử dụng để biểu thị các hàng
  • "Joy, Doe" Nếu một ô chứa dấu phẩy, nó sẽ được đặt trong dấu ngoặc kép

 

1B) HTML

1-csv-mảng. html





 

  1. Chúng tôi sẽ sử dụng một thư viện nhẹ có tên là csv. js để phân tích cú pháp CSV thành một mảng
  2. Trường nhập tệp HTML để chọn tệp CSV

 

1C) BẢN JAVASCRIPT

1-csv-mảng. js

window.onload = () => {
  // (A) FILE PICKER
  let picker = document.getElementById("demoA");
 
  // (B) READ CSV FILE
  picker.onchange = () => {
    // (B1) GET SELECTED CSV FILE
    let selected = picker.files[0];
 
    // (B2) READ CSV INTO ARRAY
    let reader = new FileReader();
    reader.addEventListener("loadend", () => {
      // (B2-1) PARSE INTO ARRAY
      let csv = CSV.parse(reader.result);
 
      // (B2-2) LOOP THROUGH ROWS & COLS
      for (let row of csv) {
        for (col of row) {
          console.log(col);
        }
      }
 
      // (B2-3) DONE
      // let data = JSON.stringify(data);
      // picker.value = "";
    });
    reader.readAsText(selected);
  };
};

Điều này sẽ khá tự giải thích

  • (A) Lấy trường chọn tệp HTML –
    
    
    
    
     
    
    
    0
  • (B) Sử dụng đối tượng
    
    
    
    
     
    
    
    1 để đọc tệp CSV đã chọn
  • (B2) Nhưng tất nhiên,
    
    
    
    
     
    
    
    2 sẽ trả về toàn bộ tệp CSV dưới dạng chuỗi. Chúng ta sẽ phải sử dụng thư viện để phân tích nó thành một mảng –
    
    
    
    
     
    
    
    3

 

 

VÍ DỤ 2) PHÂN TÍCH CSV THÀNH MỘT ĐỐI TƯỢNG

2A) CSV GIẢ

2-hình nộm. csv

Name,Email,Number
Joa Doe,[email protected],123456
Job Doe,[email protected],234567
Joe Doe,[email protected],345678
Joi Doe,[email protected],456789
Jon Doe,[email protected],987654
"Joy, Doe",[email protected],124578

Không cần tìm đâu xa, đây là ví dụ tương tự. Nó chỉ có một hàng tiêu đề bổ sung mà chúng ta sẽ sử dụng làm khóa của đối tượng

________số 8_______

 

2B) HTML

2-csv-đối tượng. html





 

Một lần nữa, đó là "thư viện tải" và "bộ chọn tệp HTML" giống nhau

 

2C) BẢN JAVASCRIPT

2-csv-đối tượng. js

window.onload = () => {
  // (A) FILE PICKER
  let picker = document.getElementById("demoB");
 
  // (B) READ CSV FILE
  picker.onchange = () => {
    // (B1) GET SELECTED CSV FILE
    let selected = picker.files[0];
 
    // (B2) READ CSV INTO ARRAY
    let reader = new FileReader();
    reader.addEventListener("loadend", () => {
      // (B2-1) PARSE INTO ARRAY
      let csv = CSV.parse(reader.result);
 
      // (B2-2) REARRANGE KEYS & VALUES
      let data = {};
      for (let [col,key] of Object.entries(csv[0])) {
        data[key] = [];
        for (let row=1; row

Tôi sẽ không giải thích từng dòng một, nhưng về cơ bản nó giống như ví dụ trước

  • (A & B) Lấy tệp CSV đã chọn và đọc nó
  • (B2-1) Trước tiên, hãy phân tích cú pháp chuỗi CSV thành một mảng
  • (B2-2) Lặp qua mảng và sắp xếp lại nó thành một đối tượng

 

 

BIT BỔ SUNG & LIÊN KẾT

Đó là tất cả những gì dành cho hướng dẫn và đây là một phần nhỏ về một số tính năng bổ sung và liên kết có thể hữu ích cho bạn

 

CÁC VẤN ĐỀ VÀ GIỚI HẠN VỀ HIỆU SUẤT

Tại thời điểm viết bài này, dường như không có cách nào để đọc từng dòng tệp CSV với





 

4. Tức là nó sẽ đọc toàn bộ file CSV thành 1 chuỗi cùng lúc. Trong khi điều này hoạt động, nó sẽ gặp vấn đề về hiệu suất và bộ nhớ với các tệp CSV lớn. Vì vậy, vâng, đây là một “hạn chế” cần lưu ý… Cho đến khi các nhà phát triển quyết định “sửa chữa”




 

4 và cung cấp cho nó tính năng “đọc từng dòng”

 

KIỂM TRA TÍNH TƯƠNG THÍCH

  • Chức năng mũi tên – CanIUse
  • Trình đọc tệp – CanIUse

Được hỗ trợ tốt trên các trình duyệt hiện đại, nhưng không dành cho Internet Exploder cổ đại

 

LIÊN KẾT và THAM KHẢO

  • Cách đọc tệp trong Javascript – Code Boxx
  • Đọc tệp CSV trong NodeJS – Code Boxx

 

BẢNG CHEAT INFOGRAPHIC

Cảm ơn bạn đã đọc, và chúng tôi đã đi đến cuối. Tôi hy vọng rằng nó đã giúp bạn hiểu rõ hơn và nếu bạn muốn chia sẻ bất cứ điều gì với hướng dẫn này, vui lòng bình luận bên dưới. Chúc may mắn và mã hóa hạnh phúc

Làm cách nào để đọc và ghi tệp CSV bằng JavaScript?

Trong hướng dẫn ngắn này, bạn sẽ tìm hiểu cách sử dụng chức năng từ mô-đun fs để ghi tệp CSV bằng Node. .
Tạo một dự án nút mới. Để bắt đầu, chúng ta cần tạo một dự án Node mới. .
Nhập appendFileSync từ Mô-đun fs. .
Triển khai lớp liên hệ. .
Thêm phương thức saveAsCSV vào lớp liên hệ. .
Tạo dữ liệu và lưu vào CSV

Làm cách nào để kiểm tra định dạng tệp CSV trong JavaScript?

Tệp CSV được chọn trong điều khiển FileUpload (Đầu vào tệp HTML) và nút Tải lên được nhấp và chức năng Tải lên JavaScript được gọi. Bên trong hàm, trước tiên, kiểm tra được thực hiện để xác minh xem tệp là tệp CSV hay tệp văn bản hợp lệ

Làm cách nào để đọc một tệp trong JavaScript?

Để đọc tệp, sử dụng FileReader , cho phép bạn đọc nội dung của đối tượng Tệp vào bộ nhớ. Bạn có thể hướng dẫn FileReader đọc tệp dưới dạng bộ đệm mảng, URL dữ liệu hoặc văn bản. // Kiểm tra xem file có phải là ảnh không.

Làm cách nào để đọc cột tệp CSV một cách khôn ngoan trong JavaScript?

Đọc tệp csv bằng Javascript .
Step 1: Define a input type in HTML. Select a file: .
Bước 2. Xác định một chức năng để xử lý tệp trong javascript. hàm processFile(){ var file = document. querySelector('#myFile'). tệp [0];