SQLite에 데이터베이스가 있고 xyz이라는 테이블이 비어 있습니다. CSV 파일에서 해당 테이블로 데이터를 가져 오려고합니다.SQLite에 csv 파일 가져 오기
이제 CSV 파일 가져 오기를 시도 할 때 기본 테이블로 가져 오라고 요청했지만 데이터를 내 xyz 테이블로 가져 오려고합니다.
어떻게하면됩니까? 나는 아래의 코드를 수행
SQLite에 데이터베이스가 있고 xyz이라는 테이블이 비어 있습니다. CSV 파일에서 해당 테이블로 데이터를 가져 오려고합니다.SQLite에 csv 파일 가져 오기
이제 CSV 파일 가져 오기를 시도 할 때 기본 테이블로 가져 오라고 요청했지만 데이터를 내 xyz 테이블로 가져 오려고합니다.
어떻게하면됩니까? 나는 아래의 코드를 수행
당신은이 방법으로 수행 할 수
먼저 당신이 번들에 CSV 파일을 추가해야합니다.
그럼 당신은 당신이 CSV
-(void)loadCSVData{
NSString *path1=[[NSString alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"YOUR_CSV_FILENAME" ofType:@"csv"] usedEncoding:&encoding error:nil];
NSArray *messArr=[path1 componentsSeparatedByString:@"\n"];
if(messArr)
{
for(int i=1;i<=[messArr count]-2;i++)
{
NSMutableDictionary *d=[[NSMutableDictionary alloc] init];
NSString *StrValue=[NSString stringWithFormat:@"%@",[messArr objectAtIndex:i]];
StrValue=[StrValue stringByReplacingOccurrencesOfString:@"\"" withString:@""];
StrValue=[StrValue stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
// Here give whatever saperator you need to saperate data
NSArray *arr=[StrValue componentsSeparatedByString:@","];
[d setValue:[arr objectAtIndex:0] forKey:@"YOUR_TABLE_FIELD_1"];
[d setValue:[arr objectAtIndex:1] forKey:@"YOUR_TABLE_FIELD_2"];
[d setValue:[arr objectAtIndex:2] forKey:@"YOUR_TABLE_FIELD_3"];
//Here add logic to insert row in your database table
}
}
당신은 단지 그것을 impliment해야합니다 -
-(void)restore{
@try {
NSURL *url=[NSURL URLWithString:[NSString stringWithFormat:@"%@%@?userid=%@",kHOSTPATH,kCSVLIST,[[cntrAppDelegate setServerDetails] valueForKey:@"kUSERID"]]];
NSMutableURLRequest *requestMutable = [[NSMutableURLRequest alloc] init];
[requestMutable setURL:url];
NSError *error = [[NSError alloc] init];
NSHTTPURLResponse *response = nil;
NSData *urlData=[NSURLConnection sendSynchronousRequest:requestMutable returningResponse:&response error:&error];
NSLog(@"Response code: %d", [response statusCode]);
if ([response statusCode] >=200 && [response statusCode] <300)
{
NSString *responseData = [[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];
NSLog(@"Response ==> %@", responseData);
SBJsonParser *jsonParser = [SBJsonParser new];
NSDictionary *jsonData = (NSDictionary *) [jsonParser objectWithString:responseData error:nil];
NSLog(@"--------=========%@============-------------",jsonData);
NSDictionary *dic = [jsonData objectForKey:@"Root"];
NSLog(@"---------------------ROOT VALUE IS %@",dic);
NSLog(@"----------------COUNT IS %d",[dic count]);
for (int i = 0; i < [dic count]; i++)
{
NSString *str = [[dic valueForKey:@"CSV_File"]objectAtIndex:i];
NSLog(@"STR IS %@",str);
[self.arrListOfCSV addObject:str];
}
if ([jsonData valueForKey:@"Root"] == 0)
{
}
else
{
}
}
선생님, 내가 직접 sqlite 관리자에서 변경할 수있는 방법이 있습니까? –
csv에서 데이터를 가져 오려면 CSV에서 첫 번째 데이터를 가져와야합니다. 그런 다음 u를 삽입하여이 데이터를 sqlite에 저장하십시오. –
리눅스에서 당신이해야 더 나은 데이터 가져 오기에서 데이터베이스에 데이터를 추가하려면이 메서드를 호출 할 수 있습니다. SQLite에 들어가면 디스크 조작 시스템에서
separator",";
임포트 choose your csv path
xyz를 입력하십시오. xyz
이라는 테이블을 만들 때 이름은 csv 파일과 일치해야합니다.
[Import CSV to SQLite] (https://stackoverflow.com/questions/14947916/import-csv-to-sqlite) 가능 복제본 –