C#:
Работа с CSV
Как
Чтение файлов CSV
using System;
using System.IO;
class ReadCSVExample
{
static void Main()
{
string path = "data.csv";
using (var reader = new StreamReader(path))
{
while (!reader.EndOfStream)
{
var line = reader.ReadLine();
var values = line.Split(',');
// Теперь сделайте что-то со значениями, например, напечатайте их
Console.WriteLine(String.Join(" | ", values));
}
}
}
}
Пример вывода:
John | Doe | [email protected]
Jane | Smith | [email protected]
Запись файлов CSV
using System;
using System.IO;
class WriteCSVExample
{
static void Main()
{
string path = "output.csv";
var records = new[]
{
new[] {"Name", "Age", "Email"},
new[] {"Alice", "23", "[email protected]"},
new[] {"Bob", "30", "[email protected]"}
};
using (var writer = new StreamWriter(path))
{
foreach (var record in records)
{
var line = String.Join(",", record);
writer.WriteLine(line);
}
}
Console.WriteLine($"Данные записаны в {path}");
}
}
Пример вывода:
Данные записаны в output.csv
Углубление
CSV существует с начала времен вычислений, служа мостом между разными системами. Он не идеален — не имеет стандартной кодировки символов и плохо поддерживает многострочные поля без надежного парсера. Здесь на сцену выходят форматы вроде JSON и XML, предлагая больше сложности, но лучшую структуру для иерархических данных.
Под капотом вы обычно манипулируете строками, либо с использованием встроенных методов string
, либо библиотеки вроде CsvHelper
могут добавить дополнительную мощь вашей работе с CSV, предоставляя больше функций и изящно обрабатывая крайние случаи. Помните, в .NET нет встроенной обработки CSV, так что вы остаетесь наедине с манипуляциями со строками или можете выбрать стороннюю библиотеку.
Смотрите также
Для более глубокого изучения манипуляции с CSV в C#:
Узнайте больше о альтернативах CSV: