Sorry for noob question, Iam still learning so bear with me.
My case is I want to parsing data csv ( 3 column, 2000rows ) and randomize it then take only 200row to write to csv again. ( In case my limited knowledge in C#, and yep google too. I failed using csv helper and end up using vb fileIO ).
Back my question can CSV helper write csv from List My code so far is thanks you :) List<string[]> datacsv = new List<string[]>();
TextFieldParser parser = new TextFieldParser(AppDomain.CurrentDomain.BaseDirectory + @"data.csv", System.Text.Encoding.GetEncoding("euc-jp"));
parser.SetDelimiters(",");
while (!parser.EndOfData)
{
string[] words = parser.ReadFields();
string databaru = words.ToString();
datacsv.Add(words);
}
var rnd = new Random();
List<string[]> result = datacsv.OrderBy(item => rnd.Next()).ToList();
//List<string> allrow = ReadInCSV(AppDomain.CurrentDomain.BaseDirectory + @"data.csv");
Here is an example of writing each field by hand.
void Main()
{
using (var stream = new MemoryStream())
using (var reader = new StreamReader(stream))
using (var writer = new StreamWriter(stream))
using (var csv = new CsvWriter(writer))
{
var list = new List<string[]>
{
new[] { "1", "2" },
new[] { "3", "4" }
};
foreach (var item in list)
{
foreach (var field in item)
{
csv.WriteField(field);
}
csv.NextRecord();
}
writer.Flush();
stream.Position = 0;
reader.ReadToEnd().Dump();
}
}
Most helpful comment
Here is an example of writing each field by hand.