راه های زیادی برای پردازش و خواندن فایل های CSV در سی شارپ وجود داره، مثل اینکه خط به خط فایل متنی خونده بشه و مقادیر استخراج بشن. اما یکی از راهکارهای ساده استفاده از پکیج LumenWorksCsvReader هست. بوسیله این پکیج شما به راحتی می تونید اطلاعات رو از یک فایل CSV بخونید و بوسیله یک DataTable به اطلاعات دسترسی داشته باشید.برای فایل CSV نمونه می تونید از فایلی که به این مطلب ضمیمه شده استفاده کنید. در ابتدا بوسیله دستور زیر پکیج LumenWorksCsvReader رو به پروژه اضافه کنید:
Install-Package LumenWorksCsvReader
بعد از اضافه کردن پکیج، باید یک DataTable برای نگهداری مقادیر بارگذاری شده تعریف کنیم:
var csvTable = new DataTable();
برای خوندن فایل csv و بارگذاری اطلاعات داخل DataTable از کلاس CsvReader به صورت زیر استفاده می کنیم:
using (var csvReader = new CsvReader(new FileStream("e:\\data.csv", FileMode.Open), true, Encoding.UTF8))
{
csvTable.Load(csvReader);
}
برای یادگیری و آموزش سی شارپ ( آموزش زبان برنامه نویسی سی شارپ ) رایگان به این لینک بروید
پارامترهایی که در کد بالا به کلاس CsvReader ارسال کردیم به ترتیب:
نکته ای که باید بهش توجه کنید این هست که معمولاً فایل های csv یک مفهومی دارن به نام Delimiter که کاراکتر جداکننده هر ستون رو مشخص می کنه. به صورت پیش فرض کاراکتر , برای delimiter استفاده میشه، اما می تونید بوسیله پارامتر delimiter کاراکتر جداکننده رو مشخص کنید:
using (var csvReader = new CsvReader(new FileStream("e:\\data.csv", FileMode.Open), true, Encoding.UTF8, delimiter: ';'))
دستور زیر اطلاعات بارگذاری شده داخل DataTable رو داخل خروجی نمایش میده:
foreach (DataRow row in csvTable.Rows)
{
Console.WriteLine($"policyID: {row[0]}, statecode: {row["statecode"]}, country: {row["county"]}");
}
بخشی از خروجی کد بالا به صورت زیر هست:
policyID: 279152, statecode: FL, country: HILLSBOROUGH COUNTY
policyID: 794433, statecode: FL, country: HILLSBOROUGH COUNTY
policyID: 724093, statecode: FL, country: HILLSBOROUGH COUNTY
policyID: 284559, statecode: FL, country: PINELLAS COUNTY
policyID: 260623, statecode: FL, country: PINELLAS COUNTY
policyID: 277148, statecode: FL, country: PINELLAS COUNTY
در مطلب در مورد نحوه ایجاد یک کلاس به عنوان Model و ایجاد مدل از روی فایل CSV توضیح می دیم.
بنیانگذار توسینسو و برنامه نویس و توسعه دهنده ارشد وب
حسین احمدی ، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس ، بیش از 12 سال سابقه فعالیت حرفه ای در سطح کلان ، مشاور ، مدیر پروژه و مدرس نهادهای مالی و اعتباری ، تخصص در پلتفرم دات نت و زبان سی شارپ ، طراحی و توسعه وب ، امنیت نرم افزار ، تحلیل سیستم های اطلاعاتی و داده کاوی ...
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود