我在SQLite中有一個數據庫,並且一個名爲xyz的表是空的。我想從一個CSV文件導入到該表中的數據。將csv文件導入到SQLite中
現在,當我嘗試導入csv文件時,它要求將其導入到主表中,但我想將數據導入到我的xyz表中。
我該怎麼做?
我在SQLite中有一個數據庫,並且一個名爲xyz的表是空的。我想從一個CSV文件導入到該表中的數據。將csv文件導入到SQLite中
現在,當我嘗試導入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獲得第一個數據,然後將這些數據存儲到sqlite插入詢問 –
在Linux的話,最好把數據導入數據庫中添加數據。而在磁盤操作系統後進入的SQLite,進入
separator",";
進口choose your csv path
XYZ。當您創建名爲xyz
的表時,該名稱應與您的csv文件一致。
[Import CSV to SQLite]的可能重複(https://stackoverflow.com/questions/14947916/import-csv-to-sqlite) –