유니티 C# CSV 파일 처리 자동화 간단 구현

반응형

유니티 C# CSV 파일 처리 자동화 간단 구현

유니티 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);
    }
}
반응형