2009-09-30 8 views
7

Tôi có tệp CSV chứa dữ liệu. Tôi muốn tải nó vào một dữ liệu lõi được quản lý sqlite db.Tải CSV vào sqlite được quản lý dữ liệu lõi db

Tôi vừa chạy một trong các ứng dụng Core Data Xcode mẫu và nhận thấy nó đã tạo tệp db. Tôi nhận thấy tên bảng bắt đầu bằng Z và các khóa chính được lưu trữ trong bảng riêng biệt, vì vậy tôi có thể nhập dữ liệu CSV trực tiếp vào db bằng dòng lệnh sqlite3 có thể làm hỏng các khóa chính.

Tôi có cần phải viết một chương trình để đọc trong dòng CSV theo dòng và sau đó tạo các đối tượng cho mỗi hàng và lưu chúng vào db. Bất cứ ai có bất kỳ mã nào cho điều này? Và tôi có thể viết một máy trạm để làm điều này bằng cách sử dụng Dữ liệu cốt lõi. Nếu vậy db sẽ được sử dụng tốt trong ứng dụng dữ liệu lõi IPhone?

Tôi có thể sau đó chỉ bao gồm db được điền sẵn trong dự án của mình và nó sẽ được triển khai với ứng dụng chính xác hoặc có điều gì khác mà tôi nên làm.

Trả lời

6

Sử dụng NSScanner để đọc tệp CSV của bạn vào các trường hợp NSManagedObject trong kho dữ liệu cốt lõi của bạn.

+0

Tôi nghĩ rằng liên kết mà bạn gửi cho NSScanner không hoạt động nữa:/ – Chris

+0

Tôi đã thêm một hiện sống liên kết. –

5

Tôi có một số danh mục về NSString để đọc và ghi tệp CSV từ/tới NSArrays. Tôi sẽ đăng chúng trực tuyến và chỉnh sửa câu trả lời của tôi với một liên kết đến nó.

chỉnh sửa

Họ đang trực tuyến tại đây: http://github.com/davedelong/CHCSVParser

+0

Tuyệt vời, cảm ơn rất nhiều vì điều này, Dave! –