C# CSV 파일에 데이터 쓰기

  1. CsvHelper 클래스 메소드를 사용하여CSV 파일에 데이터를 쓰는 C# 프로그램
  2. WriteAllText()메소드를 사용하여CSV 파일에 데이터를 쓰는 C# 프로그램

CSV 파일은 체계적인 방식으로 데이터를 저장하는 데 매우 유용합니다. 다른 프로그래밍 언어를 사용하여CSV 파일에서 데이터를 쓰고 읽을 수 있습니다.

C#에는CSV 파일을 읽고CSV 파일에 데이터를 쓰는 다른 방법이 있습니다. 이 기사는CSV 파일에 데이터를 쓰는 다른 방법에 중점을 둡니다.

CsvHelper 클래스 메소드를 사용하여CSV 파일에 데이터를 쓰는 C# 프로그램

C#에는CSV 파일 ‘을 읽고 쓰는 라이브러리 인CsvHelper가 있습니다. 이 라이브러리는 기본적으로 제공되지 않습니다. 오히려 다운로드가 필요합니다. GetRecordsWriteRecords와 같은 메소드를 제공하여CSV 파일을 읽고 쓸 수 있습니다. CSV 파일을 쉽게 읽고 쓸 수있는 효율적인 라이브러리입니다.

다음 예제 코드는 ‘CSV 파일’을 작성하고 데이터를 쓰는 프로그램을 보여줍니다.

예제 코드:

using System;
using System.IO;
using System.Text;
using CsvHelper;

namespace CsvExample
{
    public class Project
    {
        public string PersonName { get; set; }
        public string Title { get; set; }
    }

    public class Program
    {

        static void Main(string[] args)
        {
            var data = new[]
            {
                new Project { CustomerName = "Olivia", Title = "Mother"},
                new Project { CustomerName = "Lili", Title = "Elder Sister"}
            };

            using (var mem = new MemoryStream())
            using (var writer = new StreamWriter(mem))
            using (var csvWriter = new CsvWriter(writer))
            {
                csvWriter.Configuration.Delimiter = ";";
                csvWriter.Configuration.HasHeaderRecord = true;
                csvWriter.Configuration.AutoMap<Project>();

                csvWriter.WriteHeader<Project>();
                csvWriter.WriteRecords(data);

                writer.Flush();
                var result = Encoding.UTF8.GetString(mem.ToArray());
                Console.WriteLine(result);
            }
        }
    }
}

산출:

PersonName;Title
Olivia;Mother
Lili;Elder Sister

WriteAllText()메소드를 사용하여CSV 파일에 데이터를 쓰는 C# 프로그램

WriteAllText()메소드는 파일을 생성하고 파일에 데이터를 쓴 다음 파일을 닫습니다. 파일이 이미 존재하면 파일의 데이터를 덮어 씁니다.

이 방법을 사용하는 올바른 구문은 다음과 같습니다.

WriteAllText (StringPath, StringContents);

예제 코드:

using System;
using System.IO;
using System.Text;

namespace CsvExample
{
  
    public class Program
    {

        static void Main(string[] args)
        {
            string strFilePath = @"D:\New folder\Data.csv";
            string strSeperator = ",";
            StringBuilder sbOutput = new StringBuilder();
 
            int[][] inaOutput = new int[][]{
            new int[]{1000, 2000, 3000, 4000, 5000},
            new int[]{6000, 7000, 8000, 9000, 10000},
            new int[]{11000, 12000, 13000, 14000, 15000}
        };

        int ilength = inaOutput.GetLength(0);
        for (int i = 0; i &amp;lt; ilength; i++)
            sbOutput.AppendLine(string.Join(strSeperator, inaOutput[i]));
 
        // Create and write the csv file
        File.WriteAllText(strFilePath, sbOutput.ToString());
 
        // To append more lines to the csv file
        File.AppendAllText(strFilePath, sbOutput.ToString());
        }
    }
}

산출:

//CSV file created in the given directory

ArgumentException,ArgumentNullException,PathTooLongException,DirectoryNotFoundException,IOExceptionUnauthorizedAccessException과 같은 몇 가지 예외를 제공합니다. 이러한 이상들은 try-catch 블록을 사용하여 처리할 수 있습니다.

관련 문장 - Csharp CSV file

  • C#은 CSV 파일을 읽고 그 값을 배열에 저장합니다