brian.clear
brian.clear

Reputation: 5327

Loading a CSV into Core Data managed sqlite db

I have a CSV file containing data. I want to load it into a Core Data managed sqlite db.

I just ran one of the sample Core Data Xcode apps and noticed it created the db file. I noticed table names all started with Z and the primary keys were stored in separate table so from this am I right in presuming that just importing the CSV data directly into the db using sqlite3 command line might mess up primary keys.

Do I need to write a program to read in the CSV line by line and then create objects for each row and persist them to the db. Anyone got any code for this? And can I write a desktop client to do this using Core Data. If so will the db be fine to use in IPhone core data app?

Can I then just include the prefilled db in my project and it will be deployed with the app correctly or is there something else I should do.

Upvotes: 7

Views: 7315

Answers (2)

Alex Reynolds
Alex Reynolds

Reputation: 96967

Use NSScanner to read your CSV file into the NSManagedObject instances in your Core Data store.

Upvotes: 6

Dave DeLong
Dave DeLong

Reputation: 243156

I have some categories on NSString for reading and writing CSV files from/to NSArrays. I'll post them online and edit my answer with a link to it.

edit

They're online here: http://github.com/davedelong/CHCSVParser

Upvotes: 5

Related Questions