Hướng dẫn how do i read a csv file in javascript? - làm cách nào để đọc tệp csv trong javascript?

Không cần phải viết ...

Thư viện JQuery-CSV có chức năng gọi là

 heading1,heading2,heading3,heading4,heading5,value1_1,...,value5_2
8 tự động ánh xạ.

Lưu ý: Thư viện được thiết kế để xử lý bất kỳ dữ liệu CSV nào tuân thủ RFC 4180, bao gồm tất cả các trường hợp cạnh khó chịu mà hầu hết các giải pháp 'đơn giản' bị bỏ qua.

Giống như @blazemonger đã được nêu, trước tiên bạn cần thêm các lần ngắt dòng để làm cho dữ liệu hợp lệ CSV.

Sử dụng bộ dữ liệu sau:

heading1,heading2,heading3,heading4,heading5
value1_1,value2_1,value3_1,value4_1,value5_1
value1_2,value2_2,value3_2,value4_2,value5_2

Sử dụng mã:

var data = $.csv.toObjects[csv]:

Đầu ra được lưu trong 'dữ liệu' sẽ là:

[
  { heading1:"value1_1",heading2:"value2_1",heading3:"value3_1",heading4:"value4_1",heading5:"value5_1" } 
  { heading1:"value1_2",heading2:"value2_2",heading3:"value3_2",heading4:"value4_2",heading5:"value5_2" }
]

Lưu ý: Về mặt kỹ thuật, cách bạn đã viết ánh xạ giá trị khóa là không hợp lệ JavaScript. Các đối tượng chứa các cặp giá trị khóa nên được bọc trong ngoặc.

Nếu bạn muốn tự mình thử nó, tôi khuyên bạn nên xem xét trình diễn sử dụng cơ bản trong tab 'toobjects []'.

Tuyên bố miễn trừ trách nhiệm: Tôi là tác giả ban đầu của JQuery-CSV.

Update:

Được chỉnh sửa để sử dụng bộ dữ liệu mà OP cung cấp và bao gồm một liên kết đến bản demo nơi dữ liệu có thể được kiểm tra tính hợp lệ.

Update2:

Do sự đóng cửa của mã Google. JQuery-CSV đã chuyển đến GitHub

Mejustandrew

5.4477 Huy hiệu vàng 50 Huy hiệu bạc70 Huy hiệu Đồng7 gold badges50 silver badges70 bronze badges

Đã trả lời ngày 5 tháng 9 năm 2012 lúc 20:32Sep 5, 2012 at 20:32

13

Lưu ý: Tôi đã pha chế giải pháp này trước khi tôi được nhắc nhở về tất cả các "trường hợp đặc biệt" có thể xảy ra trong một tệp CSV hợp lệ, như trích dẫn thoát. Tôi đang để lại câu trả lời của mình cho những người muốn một cái gì đó nhanh chóng và bẩn thỉu, nhưng tôi khuyên bạn nên câu trả lời của Evan về độ chính xác. I concocted this solution before I was reminded about all the "special cases" that can occur in a valid CSV file, like escaped quotes. I'm leaving my answer for those who want something quick and dirty, but I recommend Evan's answer for accuracy.

Mã này sẽ hoạt động khi tệp

 heading1,heading2,heading3,heading4,heading5,value1_1,...,value5_2
9 của bạn là một chuỗi dài các mục được phân tách bằng dấu phẩy, không có Newlines:

data.txt:

 heading1,heading2,heading3,heading4,heading5,value1_1,...,value5_2

javascript:

$[document].ready[function[] {
    $.ajax[{
        type: "GET",
        url: "data.txt",
        dataType: "text",
        success: function[data] {processData[data];}
     }];
}];

function processData[allText] {
    var record_num = 5;  // or however many elements there are in each row
    var allTextLines = allText.split[/\r\n|\n/];
    var entries = allTextLines[0].split[','];
    var lines = [];

    var headings = entries.splice[0,record_num];
    while [entries.length>0] {
        var tarr = [];
        for [var j=0; j

Bài Viết Liên Quan

Chủ Đề