Note
In the following code examples - for easier readability - exception handling has been omitted.
public static Dictionary<string, ReadOnlyMemory<char>> ToDictionary(
this CsvRecord record
)
<ExtensionAttribute>
Public Shared Function ToDictionary (
record As CsvRecord
) As Dictionary(Of String, ReadOnlyMemory(Of Char))
public:
[ExtensionAttribute]
static Dictionary<String^, ReadOnlyMemory<wchar_t>>^ ToDictionary(
CsvRecord^ record
)
[<ExtensionAttribute>]
static member ToDictionary :
record : CsvRecord -> Dictionary<string, ReadOnlyMemory<char>>
Saving a CSV file:
using System.Text;
using FolkerKinzel.CsvTools;
namespace Examples;
internal static class CsvAnalyzerExample
{
public static void ParseForeignCsvFile(string filePath)
{
const string nonStandardCsv = """
First # "Second # Column"
1,"2",3 # "Get's
too much" # LOST?
too few
""";
File.WriteAllText(filePath, nonStandardCsv, Encoding.Unicode);
using CsvReader csv = Csv.OpenReadAnalyzed(filePath);
CsvRecord[] data = [.. csv];
using (CsvWriter writer = Csv.OpenWrite(filePath, data[0].ColumnNames))
{
foreach (CsvRecord record in data)
{
writer.Record.FillWith(record.Values);
writer.WriteRecord();
}
}
Console.WriteLine(File.ReadAllText(filePath));
}
}
/*
Console output:
Column1,Column2,Column3
First ,Second # Column,
"1,""2"",3 ","Get's
too much", LOST?
too few,,
*/