C# Библиотека для импорта / отображения файлов ASCII
Это может быть вопрос с дампом, но я попробую.
Одной из распространенных задач является импорт данных из файлов ascii. Это почти всегда одно и то же за исключением структуры файла. Разделенные запятыми, разделенные строкой, занимают 5 строк, занимают 12... что угодно... Так что это всегда другой протокол / отображение, но одинаковая обработка...
Есть ли библиотека для C#, которая помогает поддерживать этот повседневный сценарий?
3 ответа
Это круто: Библиотека FileHelpers
Пример:
Файл:
1732,Juan Perez,435.00,11-05-2002
554,Pedro Gomez,12342.30,06-02-2004
112,Ramiro Politti,0.00,01-02-2000
924,Pablo Ramirez,3321.30,24-11-2002
Создайте класс, который отображает ваши данные.
[DelimitedRecord(",")]
public class Customer
{
public int CustId;
public string Name;
public decimal Balance;
[FieldConverter(ConverterKind.Date, "dd-MM-yyyy")]
public DateTime AddedDate;
}
А затем проанализируйте с помощью:
FileHelperEngine engine = new FileHelperEngine(typeof(Customer));
// To Read Use:
Customer[] res = engine.ReadFile("FileIn.txt") as Customer[];
// To Write Use:
engine.WriteFile("FileOut.txt", res);
Перечислим:
foreach (Customer cust in res)
{
Console.WriteLine("Customer Info:");
Console.WriteLine(cust.Name + " - " +
cust.AddedDate.ToString("dd/MM/yy"));
}
Таким образом, единственное, что объединяет эти задачи - это чтение текстового файла?
Если FileHelpers для вас излишен (простые текстовые данные и т. Д.), Стандартные классы.NET должны быть всем, что вам нужно ( метод String.Split, класс Regex, класс StreamReader).
Они обеспечивают чтение, разделенное символами (String.Split
) или строки (StreamReader
).