Jika Anda perlu melewati (head-) garis dan / atau kolom, Anda dapat menggunakan ini untuk membuat array 2 dimensi:
var lines = File.ReadAllLines(path).Select(a => a.Split(';'));
var csv = (from line in lines
select (from col in line
select col).Skip(1).ToArray() // skip the first column
).Skip(2).ToArray(); // skip 2 headlines
Ini cukup berguna jika Anda perlu membentuk data sebelum Anda memprosesnya lebih lanjut (dengan asumsi 2 baris pertama terdiri dari informasi utama, dan kolom pertama adalah judul baris - yang tidak perlu Anda miliki dalam array karena Anda hanya perlu ingin memperhatikan data).
NB Anda dapat dengan mudah mendapatkan tajuk utama dan kolom ke-1 dengan menggunakan kode berikut:
var coltitle = (from line in lines
select line.Skip(1).ToArray() // skip 1st column
).Skip(1).Take(1).FirstOrDefault().ToArray(); // take the 2nd row
var rowtitle = (from line in lines select line[0] // take 1st column
).Skip(2).ToArray(); // skip 2 headlines
Contoh kode ini mengasumsikan struktur *.csv
file Anda sebagai berikut :
Catatan: Jika Anda perlu melewati baris kosong - yang terkadang bisa berguna, Anda bisa melakukannya dengan memasukkan
where line.Any(a=>!string.IsNullOrWhiteSpace(a))
antara from
dan select
pernyataan dalam contoh kode LINQ di atas.
";"
sebagai pemisah ... ini menjadikan CSV sebagai imo non-standar :(