반응형
유니티 C# CSV 파일 처리 자동화 간단 구현
using System.IO;
using System.Collections.Generic;
using UnityEngine;
public class CSVProcessor : MonoBehaviour
{
public string inputFilePath = "Assets/InputData.csv"; // 입력 CSV 파일 경로
public string outputFilePath = "Assets/OutputData.csv"; // 출력 CSV 파일 경로
void Start()
{
// CSV 읽기
List<string[]> data = ReadCSV(inputFilePath);
// 데이터 처리 (예: 특정 조건으로 필터링)
List<string[]> filteredData = ProcessData(data);
// 결과를 새로운 CSV로 저장
WriteCSV(outputFilePath, filteredData);
Debug.Log("CSV 데이터 처리가 완료되었습니다!");
}
// CSV 읽기
List<string[]> ReadCSV(string filePath)
{
List<string[]> result = new List<string[]>();
if (File.Exists(filePath))
{
string[] lines = File.ReadAllLines(filePath);
foreach (string line in lines)
{
string[] row = line.Split(',');
result.Add(row);
}
}
else
{
Debug.LogError($"파일을 찾을 수 없습니다: {filePath}");
}
return result;
}
// 데이터 처리 (필터링 또는 계산)
List<string[]> ProcessData(List<string[]> data)
{
List<string[]> filteredData = new List<string[]>();
foreach (string[] row in data)
{
// 예제: 특정 값이 포함된 행만 추가
if (row.Length > 1 && row[1] == "조건값")
{
filteredData.Add(row);
}
}
return filteredData;
}
// CSV 쓰기
void WriteCSV(string filePath, List<string[]> data)
{
List<string> lines = new List<string>();
foreach (string[] row in data)
{
lines.Add(string.Join(",", row));
}
File.WriteAllLines(filePath, lines);
}
}
반응형