C#으로 CSV 파일 작성: 덮어쓰기 문제 해결
C#에서 CSV 파일을 작성할 때 흔히 발생하는 문제는 마지막 행만 작성된다는 것입니다. 이는 루프를 반복할 때마다 파일의 기존 콘텐츠를 덮어쓰기 때문입니다.
이 문제를 해결하려면 각 행을 덮어쓰는 대신 CSV 파일에 추가해야 합니다. 이렇게 하려면 StringBuilder 개체를 만들고 루프에서 해당 개체에 새 줄을 추가합니다. 루프가 완료되면 전체 StringBuilder의 내용이 CSV 파일에 기록됩니다.
다음은 수정된 기능의 예입니다.
<code class="language-csharp">var csv = new StringBuilder(); string first = reader[0].ToString(); string second = image.ToString(); csv.AppendLine(string.Format("{0},{1}", first, second)); File.WriteAllText(filePath, csv.ToString());</code>
또는 File.AppendAllText 메서드를 사용할 수도 있습니다.
<code class="language-csharp">string newLine = string.Format("{0},{1}", first, second); File.AppendAllText(filePath, newLine);</code>
이렇게 하면 내용을 덮어쓰지 않고 기존 파일에 새 줄이 추가됩니다.
CSV 파일을 작성하는 또 다른 방법은 CsvHelper 라이브러리를 사용하는 것입니다. 이 라이브러리는 유형 변환, 문자열 이스케이프 및 CSV 파일과 관련된 기타 복잡성을 처리하여 이 프로세스를 단순화합니다.
위 내용은 C#에서 CSV 파일에 데이터를 쓸 때 덮어쓰기를 방지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!