투케이2K

491. (ios/swift5) [SwiftCSV] CSV 포맷 형식 간편 조작 라이브러리 사용해 CSV 데이터 rows 컬럼 특정 행 파싱 수행 본문

IOS

491. (ios/swift5) [SwiftCSV] CSV 포맷 형식 간편 조작 라이브러리 사용해 CSV 데이터 rows 컬럼 특정 행 파싱 수행

투케이2K 2024. 4. 16. 21:42
반응형

[개발 환경 설정]

개발 툴 : 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 데이터 확인 수행] : row 데이터 파싱 수행 : 전체 rows
                // let rows = csv.rows // [["id": "1", "name": "twok", "age": "18"], ["id": "2", "name": "투케이", "age": "19"]]
                
                
                // [CSV 데이터 확인 수행] : row 데이터 파싱 수행 : 특정 행 파싱
                let rows = csv.rows[0] // ["id": "1", "name": "twok", "age": "18"]
                let name = csv.rows[0]["name"] // [twok]
                
                
                // [로그 출력]
                S_Log._D_(description: "로그 출력 수행", data: [
                    "rows :: \(rows)",
                    "name :: \(name ?? "")"
                ])
            }
            catch {
                S_Log._D_(description: S_FinalMsg.LOG_BUG_STATE, data: [
                    "catch :: \(error.localizedDescription)"
                ])
            }
            
        }

    }
 

[결과 출력]


 
반응형
Comments