Как прочитать CSV-файл в C# (пошаговое руководство)

Проще говоря, для того чтобы ваше программное обеспечение собирало информацию в процентах, необходимо анализировать и записывать документы Comma-Separated Values (CSV). Файлы CSV можно без труда изучать и записывать с помощью многих программ, включая Microsoft Excel.

По большей части, изучение и запись CSV-файлов не представляет собой ничего сложного. Из-за предложений по вызову, CSV-документ практически является простым файлом текстового содержания, который включает одно или несколько значений в строке, разделенных запятыми. Каждое значение — это тема (или столбец в электронной таблице), а каждая строка — это отчет (или строка в электронной таблице).

Но есть еще несколько картин. Двойные сборы используются для обертывания значений, включающих запятые, чтобы запятые не интерпретировались как разделитель затрат. То же самое выполняется и для значений, содержащих двойные цены. Кроме того, двойные платы в совокупности характеризуют двойную кавычку внутри платы, а не разделитель платы.

Работа с многочисленными кодеками Excel часто требует чтения фактов, перенастраивая их программно. В этой статье мы узнаем, как изучить запись CSV и разобрать записи из таблицы Excel в C# с помощью IronXL, точного инструмента для этой работы.

Что такое файлы CSV?

CSV (Comma Separated Values) — это известные кодеки импорта и экспорта информации, используемые в электронных таблицах и базах данных. Обычно статистические данные сохраняются в одной строке и разделяются запятыми. Для наших инициатив очень важно использовать пакет помощи CSV. CSV — это простой макет информации, но может быть много различий. Они могут включать в себя своеобразные разделители, новые строки или затраты. Изучить и записать данные CSV можно с помощью библиотеки помощи CSV.

Загрузка рабочей книги и рабочий лист Access

WorkBook — это великолепие IronXL, элемент которого предоставляет полный доступ к записи Excel и всем ее возможностям. Например, если мы хотим получить доступ к файлу Excel, мы используем код:

WorkBook wb = WorkBook.Load("sample.xlsx");//Excel file path
Войти в полноэкранный режим Выйти из полноэкранного режима

Чтобы получить доступ к конкретному рабочему листу документа Excel, IronXL представляет класс WorkSheet.

WorkSheet ws = wb.GetWorkSheet("Sheet1"); //by sheet name
Войти в полноэкранный режим Выйти из полноэкранного режима

Получив ExcelSheet ws, вы можете извлекать из него любую информацию и выполнять все функции Excel. доступ к данным из ExcelSheet ws можно получить по этому методу:

using IronXL;
static void Main(string[] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");
   WorkSheet ws = wb.GetWorkSheet("Sheet1");
   foreach (var cell in ws["A2:A10"])
   {
       Console.WriteLine("value is: {0}", cell.Text);
   }
   Console.ReadKey();
}

Войти в полноэкранный режим Выйти из полноэкранного режима

Метод foreach var используется для перебора каждой ячейки рабочей книги, а значения хранятся в строковом массиве.

Как прочитать CSV-файл в c# и сохранить данные в виде значений var

если у вас есть CSV-документ, а не отчет в excel, необходимо внести небольшие изменения в код для чтения CSV-файла.

Давайте рассмотрим следующий пример.

У меня есть одна и та же запись погоды, сохраненная как «weather.csv», поэтому я использую одинаковый отчет для всех примеров. Опять же, вы можете использовать пример в соответствии с вашими потребностями.

 WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
    WorkSheet ws = workbook.DefaultWorkSheet;
    workbook.SaveAs("Csv_To_Excel.xlsx");
Вход в полноэкранный режим Выход из полноэкранного режима

Первая строка загрузит CSV-файл и наметит макет документа. Вторая строка выбирает рабочий лист одновременно с альтернативными строками кода, аналогичными тем, что были в предыдущих примерах. Каждая строка файла CSV является строкой var; foreach используется для перебора каждой строки переменных с помощью считывателя var. Считанные данные затем сохраняются в пути var.

ВЫВОД

прочитанная строка — первая строка в CSV-файле — это строка заголовка. Все строки отображаются на отдельной строке.

Создается элемент рабочей книги. Затем с помощью техники LoadCSV для объекта Workbook указывается вызов CSV, его формат, какие разделители используются в исследуемом CSV-файле для разделения строк var. В данном случае в качестве разделителей используются запятые.

Затем создается объект Worksheet; именно в нем может быть размещено содержимое CSV-файла. Затем файл сохраняется под совершенно новым именем и макетом.

Как использовать синтаксический анализатор CSV в C#

Чтобы использовать синтаксический анализатор, сначала нужно прочитать CSV-файл. CSV имеют множество проблем с тем, как обрабатываются переносы строк в полях или как поля могут содержаться в платах, которые блокируют простой метод разрыва строки. В последнее время я обнаружил следующие возможности при преобразовании CSV-файлов в файлы C#. Интернет: впервые я использовал просто string.split(') вместо простого. Strings.cutup() для разделения значений через запятую. В этой статье мы рассмотрим, какие замечательные возможности парсера CSV есть в C++ в C.XcPC.internet.

Создать парсер CSV очень просто. С помощью самых эффективных строк кода вы можете загрузить CSV-файл и преобразовать его в Excel.

private void button4_Click(object sender, EventArgs e)
{
    WorkBook wb = WorkBook.Load("Normal_Excel_File.xlsx"); //Import .xls, .csv, or .tsv file
    wb.SaveAs("Parsed_CSV.csv"); //Exported as : Parsed_CSV.Sheet1.csv
}
Вход в полноэкранный режим Выход из полноэкранного режима

После настройки IronXL создайте совершенно новый проект и добавьте пространство имен IronXL.

using IronXL;
Войти в полноэкранный режим Выход из полноэкранного режима

1. Загрузка записи CSV в Excel

Следующий код использует подход Load объекта Workbook для загрузки файла CSV с разделителями-запятыми в Excel. CSV считывается как строковый массив, содержащий строковые столбцы. Затем этот документ разбирается. Наконец, используется метод SaveAs, чтобы сохранить файл в формате CSV.

private void button4_Click(object sender, EventArgs e)
{
    WorkBook wb = WorkBook.Load("Normal_Excel_File.xlsx"); //Import .xls, .csv, or .tsv file
    wb.SaveAs("Parsed_CSV.csv"); //Exported as : Parsed_CSV.Sheet1.csv
}

Вход в полноэкранный режим Выход из полноэкранного режима

2. Экспорт разобранного CSV

Экспортированный CSV-файл будет сохранен как Parsed_CSV.Sheet1.csv, поскольку записи находятся на Листе1 внутренней части рабочей книги Excel. Ниже показано, как файл будет выглядеть в проводнике отчета при выборе. Этот экспорт выполняется путем чтения данных хранилища по пути var.

Разбор записей с помощью StreamReader

Первая проверка заключается в том, чтобы убедиться, что запись, которую нужно разобрать, существует. В следующем блоке кода mHasException и mLastException относятся к базовому исключению elegance, которое наследует класс для парсинга. Вид возврата — ValueTuple (создается с помощью NuGet package deal supervisor).

if (!File.Exists(_inputFileName))
{
    mHasException = true;
    mLastException = new FileNotFoundException($"Missing {_inputFileName}");
    return (mHasException, new List<DataItem>(),new List<DataItemInvalid>() );
}
Вход в полноэкранный режим Выход из полноэкранного режима

Если документ существует, то следующим шагом будет установка нескольких переменных, которые будут использоваться для функций проверки и возврата в обратном направлении, чтобы при изучении информации из CSV-записи выявить достоверную и недостоверную статистику.

var validRows = new List<DataItem>();
var invalidRows = new List<DataItemInvalid>();
var validateBad = 0;

int index = 0;

int district = 0;
int grid = 0;
int nCode = 0;
float latitude = 0;
float longitude = 0;

Вход в полноэкранный режим Выход из полноэкранного режима

*Чтение данных CSV в C# Records
*
Этот процесс продвигает читателя по следующему документу. Мы изучаем файлы дисциплин CSV с разделителями-запятыми в trygetfield. Мы используем функцию изучения на предметных полях CSV-файлов в качестве полей отчета.

Следующий пример показывает, как это делается.

С помощью значений foreach var считывается каждая строка в CSV-файле, преобразуется в табличную форму и создается новая запись. Первая строка файла CSV известна как открытая строка.

Для разделения строк используются двойные кавычки.

WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
            WorkSheet ws = workbook.DefaultWorkSheet;
    DataTable dt = ws.ToDataTable(true);//parse sheet1 of sample.xlsx file into datatable
            foreach (DataRow row in dt.Rows) //access rows
            {
         for (int i = 0; i < dt.Columns.Count; i++) //access columns of corresponding row
                {
                    Console.Write(row[i] + "  ");
                }
                Console.WriteLine();
            }
Вход в полноэкранный режим Выход из полноэкранного режима

На выходе получается строка, которая отображается следующим образом.

Сохранение рабочей книги в файл CSV

Мы можем преобразовать рабочую книгу excel в CSV-файл, преобразовав строки табличной формы в строки, разделенные запятыми. Следующий код использует подход Load объекта Workbook для загрузки записи в Excel.

Затем он использует метод SaveAs для сохранения данных в CSV-файле в предпочтительном макете — в данном примере.csv.

Самое интересное здесь то, что к имени файла добавляется название рабочего листа, что является довольно удобным напоминанием о том, откуда взята статистика.

Приведенный ниже исходный код — прекрасный пример.

private void button3_Click(object sender, EventArgs e)
{
    WorkBook wb = WorkBook.Load("Normal_Excel_File.xlsx"); //Import .xls, .csv, or .tsv file
    wb.SaveAs("Excel_To_CSV.csv"); //Exported as : Excel_To_CSV.Sheet1.csv
}
Вход в полноэкранный режим Выход из полноэкранного режима

Выходной CSV-файл выглядит следующим образом при открытии в обычном текстовом редакторе, включая Блокнот.

Как использовать C# для преобразования таблицы данных в CSV-файл

Вы можете экспортировать таблицу данных в файл CSV с разделителями-запятыми с помощью IronXL, взяв существующую таблицу фактов и изменив ее в CSV-файл всего за несколько шагов. Цель этого бюллетеня — показать вам короткий пример этого.

Сначала импортируйте пространство имен IronXL

using IronXL;
Войдите в полноэкранный режим Выйти из полноэкранного режима

Затем добавьте следующий код:

private void button6_Click(object sender, EventArgs e)
{
    DataTable table = new DataTable();
    table.Columns.Add("Example_DataSet", typeof(string));
    table.Rows.Add("0");
    table.Rows.Add("1");
    table.Rows.Add("2");
    table.Rows.Add("3");
    table.Rows.Add("1");
    table.Rows.Add("2");
    table.Rows.Add("3");
    WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
    wb.Metadata.Author = "OJ";
    WorkSheet ws = wb.DefaultWorkSheet;
    int rowCount = 1;
    foreach (DataRow row in table.Rows)
    {
        ws["A" + (rowCount)].Value = row[0].ToString();
        rowCount++;
    }
    wb.SaveAsCsv("Save_DataTable_CSV.csv", ";"); // Saved as : Save_DataTable_CSV.Sheet1.csv
}

Войти в полноэкранный режим Выйти из полноэкранного режима

Приведенный выше код создает таблицу статистики и совершенно новую рабочую книгу, указывая ‘OJ’ в качестве ее владельца/составителя. Далее следует цикл foreach var, который вставляет записи из таблицы фактов в рабочий лист Excel. И наконец, техника SaveAsCsv экспортирует таблицу данных в CSV-файл.

The pointer moves from one line to the following line using a foreach var or a new streamreader. Each row is read as a new string and is attributed as a string name; the first line of the CSV file is read as the string column that contains the string column names.

You could download the software program product from this hyperlink.

The output Excel Worksheet appears as follows:

C# Export from CSV to .XLSX File

IronXL affords the maximum on-hand way to export the data to Excel with ( .xls, .xlsx and .csv) documents in .net programs. it’s also viable to export the records to .json and .xml documents. let’s see one after the other how clean it may be to export Excel document statistics into these codecs.

First, you need to read a CSV file; it’s straightforward to export an Excel report with a .xlsx extension. Let’s see the instance. in the code underneath; our XlsFile.xls report exists in bin>Debug folder of the challenge.

Consider: take into account writing down an extension with document call simultaneously as importing or exporting.

By default, new Excel documents will be created within the bin>Debug folder of the task. If we want to create a brand new report in a custom path, we will use `


wb.SaveAs(@"E:IronXLNewXlsxFile.xlsx");

`. Изучите учебник здесь, чтобы узнать больше о том, как экспортировать файлы Excel в .internet.

using IronXL;
static void Main(string[] args)
{
    WorkBook wb = WorkBook.Load("XlsFile.xls");//Import .xls, .csv, or .tsv file
    wb.SaveAs("NewXlsxFile.xlsx");//Export as .xlsx file
}
Вход в полноэкранный режим Выход из полноэкранного режима

Помимо разбора CSV на C#, IronXL конвертирует CSV в Excel всего двумя строками кода!

Использование C# позволяет очень легко использовать API Excel от IronXL без необходимости Interop. Вы можете изучать, редактировать и создавать таблицы Excel или работать с различными кодеками Excel, такими как XLS/XLSX/CSV/TSV. С помощью нескольких рамок вы можете приобрести пять продуктов по цене двух. Нажмите здесь для получения аналогичной информации.

Лицензионные ключи IronXL позволят вам развернуть свою миссию без водяных знаков.

Стоимость лицензий начинается от 499 долларов США и включает в себя один бесплатный 12-месячный период поддержки и обновлений.

С пробным лицензионным ключом вы также можете использовать IronXL в течение 30 дней.

Iron Software предлагает вам возможность приобрести полный пакет программ за меньшую плату.

Комплект программного обеспечения Iron включает в себя пять добавок IRONPDF, IRON XL, IRONOCR, IRONBARCODE и IRONWEBSCRAPER.

Вы можете получить весь пакет по самой точной процентной цене, заплатив одним платежом.

Это, несомненно, возможность, которой стоит воспользоваться.

Вы можете скачать программный продукт по этой ссылке.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *