- Xcode 6.1 or later
For example, if you want to parse users.csv
below,
id,name,age
1,Alice,18
2,Bob,19
3,Charlie,20
you can access data from rows and columns like this.
let fileLocation = NSBundle.mainBundle().pathForResource("users", ofType: "csv")!
var error: NSErrorPointer = nil
if let csv = CSV(contentsOfFile: fileLocation, 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"]
}
CSV(contentsOfURL:error:)
will return CSV?
type, because the initialization may fail.
You can parse other formats such as TSV by using CSV(contentsOf:delimiter:error:)
.
let fileLocation = NSBundle.mainBundle().pathForResource("users", ofType: "csv)!
let tab = NSCharacterSet(charactersInString: "\t")
var error: NSErrorPointer = nil
if let tsv = CSV(contentsOfFile: fileLocation, delimiter: tab, error: error) {
// ...
}
SwiftCSV is available through CocoaPods, to install it simply add the following line to your Podfile:
platform :ios, "8.0"
pod "SwiftCSV"
SwiftCSV can also be installed using Carthage for version 0.1.1 and higher. To install, add the following to your Cartfile.
github "naoty/SwiftCSV" ~> 0.1.1
Then run carthage update
and add the framework to your project. For more details, see the Carthage repository.
- Fork
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create new Pull Request
SwiftCSV is available under the MIT license. See the LICENSE file for more info.