私は立ち往生しています。 CSVレコードを直接sqliteテーブルにインポートできる関数はありますか? 何か助けになるでしょう。iphoneアプリケーションでCSVデータを動的にsqliteにインポートするには
答えて
に挿入することができ
NSData *CSVdata = [NSData dataWithContentsOfFile:path];
NSString *CSVString = [CSVdata dataUsingEncoding:NSASCIIStringEncoding];
のようなメソッドを使用してCSVファイルを読み込むことができますがそれを行うためのラフなコードです。あなたの要件に応じていくつかの変更を行ってください。
-(void)loadCSVData{
NSStringEncoding encoding;
NSString *path1=[[NSString alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:filename ofType:@"csv"] usedEncoding:&encoding error:nil];
//You will get the array of lines
NSArray *messArr=[path1 componentsSeparatedByString:@"\n"];
//Now start to process each single line. if(messArr) { for(int i=0;i<=[messArr count]-1;i++) { NSMutableDictionary *d=[[NSMutableDictionary alloc] init]; NSString *StrValue=[NSString stringWithFormat:@"%@",[messArr objectAtIndex:i]]; StrValue=[StrValue stringByReplacingOccurrencesOfString:@"\"" withString:@""]; StrValue=[StrValue stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; NSArray *arr=[StrValue componentsSeparatedByString:@","];
/*Add value for each column into dictionary*/
[d setValue:[arr objectAtIndex:0] forKey:@ "columnName"]; //この辞書 "d"をデータベースに追加します
[dリリース]; //掃除。
}
}
[path1 release];
}
次の質問の回答も参照してください。独自のカスタムCSVパーサーを作成するには良い説明があります。
Load data from csv file (iphone SDk) [How to import CSV data to sqlite dynamically in iphone application
[2]:How to import CSV data to sqlite dynamically in iphone application
私は、この意志はあなたを助け願っています。
あなたは、この文字列からデータをグループ化する必要があり、その後、ここでDB
UTFエンコードがCSVファイルエクストラクタでうまく動作しません。 ASCIエンコーディングは正常に動作します。 – Kuldeep
これをプログラマチックに行うように求めているのであれば、あなた自身のロジックを書く必要があります。 1)行を読み込みます(ヘッダー行が次のフィールドを持つテーブルを作成する場合) 2)テーブルに、特定のテーブルの列にマップされたさまざまなフィールドを持つレコードを挿入します。
エルスあなたがレコードを挿入にのみ関心がある場合はとにかく、あなたはあなたがMac用SQliteMangerを使用した(のscreengrabを次の中からヒントを取ることができ、ブラウザ
のMACまたはそのpluginためSQLiteManagerツールを使用することができます。オープンDatabase-- >ファイル - >インポート - >その他)
これはプログラムで行う必要がありますか?またはツールを使用して任意のcsvファイルからDBにインポートするだけですか?ツールを使用する必要がある場合は、SQLiteマネージャーアドオンを使用することをお勧めします。 –
プログラムから行う必要があるので、サーバーからアプリケーションとサーバーにCSVファイルのデータを同期する必要があるため、 – Kuldeep
以下の回答を見てください。あなたは自分のロジックを書く必要があります。 –