C# Obtain all attribute columns of List "object" through string Read Csv file CsvHelper

C# use string to get all the values ​​of the attributes of the specified object of List

For example, get the names of all students in List<Student>

studentsData = List<Student>();
var feature = "Name";

var featureValsSet = new List<String>();
foreach (var rawData in data)
 {
	featureValsSet.Add(rawData.GetType().GetProperty(feature).GetValue(rawData, null).ToString());
 }
featureValsSet = featureValsSet.Distinct().ToList();

C# nuget configuration CsvHelper

Install Nuget


Different versions of Nuget installed by VS can be searched according to keywords.

Configure CsvHelper

Tools --> Nuget Package Manager --> Package Manager Console
Then enter the
PM> Install-Package CsvHelper -Version 9.0.0
general package below and go directly to Nuget to find the command.
See the steps as follows:
Insert picture description here
Insert picture description here

Insert picture description here

CsvHelper read and save files

Read Csv file

/// >>> CsvHelper
List<Student> records = new List<Student>();
using (var reader = new System.IO.StreamReader(read_file_path)
using (var csv = new CsvReader(reader))
{
	records = csv.GetRecords<Student>().ToList();
}

Save the Csv file

/// >>> CsvHelper
using (var writer = new System.IO.StreamWriter(save_file_path))
using (var csv = new CsvWriter(writer))
{
     csv.WriteRecords(result);
}
/// <<< CsvHelper

Guess you like

Origin blog.csdn.net/qq_32507417/article/details/107053540