IOS

ISO 언어를 사용하여 CSV 데이터 생성하기

지오준 2023. 11. 22. 10:00
반응형

물론이죠! 아래는 iOS 앱에서 CSV 파일을 생성하는 Swift 언어로의 샘플 코드입니다. CSV 파일을 생성하기 위해 FileManager를 사용하여 파일 시스템에서 새 파일을 만들고, StreamWriter를 사용하여 CSV 데이터를 작성할 것입니다.

import Foundation

class CSVWriter {
    let fileName: String
    let delimiter: String
    
    init(fileName: String, delimiter: String = ",") {
        self.fileName = fileName
        self.delimiter = delimiter
    }
    
    func writeCSV(data: [[String]]) {
        let fileURL = getDocumentsDirectory().appendingPathComponent(fileName)
        
        var csvText = ""
        for row in data {
            let rowText = row.map { "\"\($0)\"" }.joined(separator: delimiter)
            csvText.append(rowText + "\n")
        }
        
        do {
            try csvText.write(to: fileURL, atomically: true, encoding: .utf8)
            print("CSV file created at: \(fileURL.path)")
        } catch {
            print("Error creating CSV file: \(error)")
        }
    }
    
    private func getDocumentsDirectory() -> URL {
        let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
        return paths[0]
    }
}

// Example Usage:
let csvWriter = CSVWriter(fileName: "example.csv")

let data = [
    ["Name", "Age", "Email"],
    ["John Doe", "30", "john@example.com"],
    ["Jane Smith", "25", "jane@example.com"],
    ["Bob Johnson", "40", "bob@example.com"]
]

csvWriter.writeCSV(data: data)

이 코드는 CSVWriter 클래스를 정의하고, writeCSV 메서드를 사용하여 전달된 2차원 문자열 배열 데이터를 CSV 파일로 작성합니다. getDocumentsDirectory() 함수는 앱의 문서 디렉토리를 반환하는 보조 함수입니다.

 

이 예제 코드를 이해하고 확장하여 원하는 데이터를 CSV 파일로 생성할 수 있습니다. 이 코드는 단순한 예제이며, 실제 앱에서는 데이터 구조와 요구 사항에 맞게 수정해야 할 수 있습니다.

 

반응형