투케이2K

492. (ios/swift5) [SwiftCSV] CSV 포맷 형식 간편 조작 라이브러리 사용해 enumerateAsDict 행 순회 및 특정 key 값 데이터 확인 본문

IOS

492. (ios/swift5) [SwiftCSV] CSV 포맷 형식 간편 조작 라이브러리 사용해 enumerateAsDict 행 순회 및 특정 key 값 데이터 확인

투케이2K 2024. 4. 16. 21:49

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT5

 

[소스 코드]

    // -----------------------------------------------------------------------------------------
    // MARK: - [테스트 메인 함수 정의 실시]
    // -----------------------------------------------------------------------------------------
    func testMain() {
        S_Log._D_(description: "테스트 함수 시작 실시", data: nil)
        
        
        /*
        // -------------------------------------------------------
        [요약 설명]
        // -------------------------------------------------------
        1. SwiftCSV 라이브러리는 Ios 에서 간편하게 CSV 형식 데이터 포맷을 파싱할 수 있는 라이브러리입니다
        // -------------------------------------------------------
        2. 필요 import : import SwiftCSV
        // -------------------------------------------------------
        3. SwiftCSV 라이브러리 Git 공식 사이트 : https://github.com/swiftcsv/SwiftCSV.git
        // -------------------------------------------------------
        4. 라이브러리 추가 방법 참고 사이트 : https://blog.naver.com/kkh0977/223416811094
        // -------------------------------------------------------
        */
        
        
        // [로직 처리 실시]
        DispatchQueue.main.async {
            
            do {
                // [초기 변수 선언] : [행 구분은 \n 으로 구분]
                let csv = try CSV<Named>(string: "id,name,age\n1,twok,18\n2,투케이,19")
                
                
                // [CSV 데이터 확인 수행] : enumerateAsDict : 행을 순회하면서 특정 key 값 확인
                try csv.enumerateAsDict { dict in
                    S_Log._D_(description: "이름 확인", data: [
                        "name :: \(dict["name"] ?? "")"
                    ])
                }
            }
            catch {
                S_Log._D_(description: S_FinalMsg.LOG_BUG_STATE, data: [
                    "catch :: \(error.localizedDescription)"
                ])
            }
            
        }

    }
 

[결과 출력]

 

 

반응형
Comments