1

ハマった。CSVレコードをsqliteテーブルに直接インポートできる機能はありますか? どんな助けもかなりのものです。

4

4 に答える 4

2

これを行うための大まかなコードを次に示します。必要に応じていくつかの変更を行ってください。

-(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"];             //Add this dictionary "d" into database
[d release]; //Cleanup.
       }
   }
[path1 release];    
}

次の質問の回答も参照してください。独自のカスタム CSV パーサーを作成するための優れた説明があります。

csvファイルからデータを読み込む (iphone SDk) [ iPhoneアプリで動的にCSVデータをsqliteにインポートする方法


[2]: iPhoneアプリで動的にCSVデータをsqliteにインポートする方法


これがお役に立てば幸いです。

于 2012-04-21T06:34:17.327 に答える
1

次のような方法を使用してCSVファイルを読み取ることができます

NSData  *CSVdata = [NSData dataWithContentsOfFile:path];
NSString *CSVString = [CSVdata dataUsingEncoding:NSASCIIStringEncoding];

この文字列からデータをグループ化する必要があり、DB に挿入できます

于 2012-04-21T06:22:45.040 に答える
0

これをプログラムで行う場合は、独自のロジックを作成する必要があります。1)行を読み取ります(ヘッダー行の場合、次のフィールドを含むテーブルを作成します) 2)特定のテーブルの列にマップされたさまざまなフィールドを使用して、テーブルにレコードを挿入します。

とにかくレコードを挿入することにのみ関心がある場合は、Mac 用のSQLiteManagerツールまたはブラウザ用のプラグインを使用できます。

次のスクリーングラブからヒントを得ることができます(SQliteManger for Macを使用。データベースを開く-->ファイル-->インポート-->その他)

ここに画像の説明を入力

于 2012-04-21T06:34:24.197 に答える
-1

この投稿を読んでください..csvをsqlliteにインポートします

あなたのための2番目の参照

希望、これはあなたを助けるでしょう

于 2012-04-21T07:09:33.650 に答える