数组 – 将.csv数据导入数组
发布时间:2020-12-14 05:21:22 所属栏目:百科 来源:网络整理
导读:我在过去几年使用Objective-C. 现在我正在尝试 Xcode 6 beta 4与迅速. 我想导入一个.csv表单我的webserver到一个数组.我在Objective-C中的旧代码是: NSString *stringURL = @"https:// [URL] /versionen/versionen.csv";NSURL *url = [NSURL URLWithString:
我在过去几年使用Objective-C.
现在我正在尝试 Xcode 6 beta 4与迅速. 我想导入一个.csv表单我的webserver到一个数组.我在Objective-C中的旧代码是: NSString *stringURL = @"https:// [URL] /versionen/versionen.csv"; NSURL *url = [NSURL URLWithString:stringURL]; NSData *urlData = [NSData dataWithContentsOfURL:url]; if ( urlData ) { NSString *csvResponseString = [[NSString alloc] initWithData:urlData encoding:NSUTF8StringEncoding]; NSArray *MZVersionDatenZeilen = [csvResponseString componentsSeparatedByString:@"n"]; NSEnumerator *MZVersionEnumerator = [MZVersionDatenZeilen objectEnumerator]; NSMutableArray *MZVersionDatenArray = [NSMutableArray arrayWithCapacity:[MZVersionDatenZeilen count]]; NSString *MZVersionZeile; while (MZVersionZeile = [MZVersionEnumerator nextObject]) { [MZVersionDatenArray addObject:[MZVersionZeile componentsSeparatedByString:@";"]]; } } 我怎么可以在Swift这样做?
有多个swift库可用:
CSVImporter,它是一个适用于处理大型csv文件的异步解析器. let path = "path/to/your/CSV/file" let importer = CSVImporter<[String]>(path: path) importer.startImportingRecords { $0 }.onFinish { importedRecords in for record in importedRecords { // record is of type [String] and contains all data in a line } } SwiftCSV,它是一个用于OSX和iOS的简单CSV解析库. let csvURL = NSURL(string: "users.csv")! var error: NSErrorPointer = nil let csv = CSV(contentsOfURL: csvURL,error: error) // Rows let rows = csv.rows let headers = csv.headers //=> ["id","name","age"] let alice = csv.rows[0] //=> ["id": "1","name": "Alice","age": "18"] let bob = csv.rows[1] //=> ["id": "2","name": "Bob","age": "19"] // Columns let columns = csv.columns let names = csv.columns["name"] //=> ["Alice","Bob","Charlie"] let ages = csv.columns["age"] //=> ["18","19","20"] 和CSwiftV,它是符合rfc4180规范的csv解析器,但根据作者,它全部在内存中,因此不适合大文件. let inputString = "Year,Make,Model,Description,Pricern1997,Ford,E350,descrition,3000.00rn1999,Chevy,Venture,another description,4900.00rn" let csv = CSwiftV(String: inputString) let headers = csv.headers // ["Year","Make","Model","Description","Price"] let rows = csv.rows // [ // ["1997","Ford","E350","descrition","3000.00"],// ["1999","Chevy","Venture","another description","4900.00"] // ] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |