Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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.

like image 637
brian.clear Avatar asked Sep 30 '09 16:09

brian.clear


People also ask

How do I import a CSV file into SQLite?

First, from the menu choose tool menu item. Second, choose the database and table that you want to import data then click the Next button. Third, choose CSV as the data source type, choose the CSV file in the Input file field, and choose the ,(comma) option as the Field separator as shown in the picture below.

Which command is used to import CSV into sqlite3?

You can import a CSV file into SQLite table by using sqlite3 tool and . import command. This command accepts a file name, and a table name.

How do I import a CSV file into DB browser?

Importing Data Within DB Browser, choose File from the menu bar, then “Import”, and select “Table from CSV file…”. In the next window, navigate to your previously-saved CSV file and import it.


2 Answers

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

like image 61
Alex Reynolds Avatar answered Oct 20 '22 16:10

Alex Reynolds


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

like image 21
Dave DeLong Avatar answered Oct 20 '22 15:10

Dave DeLong