Импортируйте данные двух или более столбцов из файла CSV (с разделителями-запятыми) и пропустите первую строку, используя c# - PullRequest
0 голосов
/ 05 августа 2020

Предположим, что следующий лист в файле CSV, как показано на следующем изображении:

введите описание изображения здесь

Я хочу импортировать данные каждого столбца в виде списка и пропустить первую строку, используя c# в Visual Studio. Мне также нужно знать, как просматривать только файл csv и загружать его, используя c#. Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 05 августа 2020

На самом деле, вы можете думать о файлах csv как о файлах txt. Данные в csv сохраняются в следующем формате (используйте запятую в качестве разделителя).

Name,ID,Salary
AA,102,0
AB,103,0
AC,104,0 

Таким образом, вы можете читать данные, как чтение файла .txt. Что касается «просматривать только файл csv», вы можете установить фильтр для OpenFileDialog.

Вот простая демонстрация.

List<string> name = new List<string>();
List<string> id = new List<string>();
List<string> salary = new List<string>();

private void btOpenCSV_Click(object sender, EventArgs e)
{
    OpenFileDialog ofd = new OpenFileDialog();
    ofd.Title = "Open CSV";
    ofd.Filter = "CSV files (*.csv)|*.csv|All files (*.*)|*.*";
    ofd.InitialDirectory = "d:\\";
    if (ofd.ShowDialog() == DialogResult.OK)
    {

        bool isfirstrow = true; // check if the first row
        string line;

        // Read the file and display it line by line.  
        System.IO.StreamReader file =
            new System.IO.StreamReader(ofd.FileName);
        while ((line = file.ReadLine()) != null)
        {
            if (isfirstrow)
            {
                isfirstrow = false;
                continue;
            }
            name.Add(line.Split(',')[0]);
            id.Add(line.Split(',')[1]);
            salary.Add(line.Split(',')[2]);
        }
    }
}
0 голосов
/ 05 августа 2020

Нет необходимости изобретать велосипед для чтения файлов CSV. Установите CsvHelper через NuGet, а затем следуйте инструкциям по использованию: https://joshclose.github.io/CsvHelper/getting-started Это избавит вас от беспокойства об экранировании запятых, пропуске строки заголовка, обработке очень больших файлов и т. Д. .

...