在我的應用程序中,我需要從csv文件導入數據到sqlite數據庫。將.csv文件中的數據導入到IOS中的sqlite數據庫。 FMDB
對於SQLite的工作,我使用FMDB圖書館,因爲它很容易使用:)
請幫助我, 如何從CSV文件導入數據到一個表?
我有一個表創建,對應於csv文件中的表,所以它應該很容易導入。
我看了看周圍的互聯網解決方案,並發現終端命令的源碼如
".mode csv"
".separator ';'"
".import mycsvfile.csv mytablename"
但是,當我嘗試執行在FMDB這個SQL語句,它失敗..
我的源代碼:
[db beginTransaction];
NSString *query1 = @".mode csv";
NSString *query2 = @".separator ';'";
NSString *query3 = @".import mycsvfile.csv mytablename";
BOOL result = [db executeUpdate:query];
result = [db executeQuery:query2];
result = [db executeQuery:query3];
[db commit];
這裏在步進BOOL結果後= [db executeUpdate:query];結果等於FALSE,表明它是錯誤的。
打開FMDB中的日誌後,它在我的查詢中顯示「語法錯誤」。
但是爲什麼這個聲明在OS X的sqlite中起作用呢?
注意:當我試圖在OS X終端中執行此命令時,在sqlite3中,所有工作都正常。
你能不能顯示你的.csv文件結構.. –
嗨!我通過逐行手動讀取csv文件並使用該數據執行sqlite插入語句來解決此問題。 –
如果有人仍然對解決方案感興趣,現在有一個用於將CSV導入到SQLite的開源庫 - https:// github。 com/dodikk/CsvToSqlite –