C # Библиотека для импорта / отображения файлов ASCII - PullRequest
4 голосов
/ 08 марта 2011

Возможно, это вопрос дампа, но я попробую.

Одна из распространенных задач - импортировать данные из файлов ascii.Это почти всегда одно и то же за исключением структуры файла.Разделенные запятыми, разделенные строкой, берут 5 строк, берут 12 ... что угодно ... Так что это всегда другой протокол / отображение, но одинаковая обработка ...

Есть ли библиотека для c #, которая помогает поддерживатьэтот повседневный сценарий?

Ответы [ 3 ]

4 голосов
/ 08 марта 2011

Это потрясающе: Библиотека 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"));
}
1 голос
/ 08 марта 2011

Таким образом, единственное, что объединяет эти задачи - это чтение текстового файла?

Если FileHelpers для вас излишне (простые текстовые данные и т. Д.), Стандартные классы .NET должныбыть всем, что вам нужно ( Метод String.Split , Класс Regex , Класс StreamReader ).

Они обеспечивают чтение, разделенное символами (String.Split) или строки (StreamReader).

1 голос
/ 08 марта 2011

Возможно, вы захотите взглянуть на библиотеку FileHelpers .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...