Get all attribute columns of List<object> by string C# read Csv file
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:
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