CSV를 작성하는 함수는 다음과 같이…
static void WriteCsv(List<string[]> data, string filePath, FileMode fileMode=FileMode.Append)
{
string[][] output = new string[data.Count][];
for (int i = 0; i < output.Length; i++) output[i] = data[i];
int length = output.GetLength(0);
string delimiter = ",";
StringBuilder stringBuilder = new StringBuilder();
for (int index = 0; index < length; index++) stringBuilder.AppendLine(string.Join(delimiter, output[index]));
Stream fileStream = new FileStream(filePath, fileMode, FileAccess.Write);
StreamWriter outStream = new StreamWriter(fileStream, Encoding.UTF8);
outStream.Write(stringBuilder);
outStream.Close();
}
실험 데이터의 예시 형태는 다음과 같다. 필요한 경우에 trials
에 한 줄 씩 데이터를 추가한다.
List<string[]> trials;
trials.Add(new string[]{
blockCount.ToString(),
trialCount.ToString(),
pid.ToString(),
tStart.ToString(),
tResponse.ToString(),
});
원하는 타이밍에 다음과 같이 WriteCsv()
를 호출해서 저장한다.
WriteCsv(trials, $"Data/{fileName}.csv");