将csv文件导入android中的Sqlite数据库

时间:2016-04-05 14:09:57

标签: android database csv android-sqlite

我已成功导出我的android应用程序数据库的csv文件。现在我想做的是通过浏览选项选择我可以导入该csv文件并将其替换为现有的数据库表(如恢复)。 我在sqlite数据库名称成员中有一个表。

Id  == Name == Phone number
1   == Abhi == 11111111
2   == Ram  == 111111223
3   == Alex == 891273932

我想将csv文件恢复到Android应用程序中的手机数据库。

由于

2 个答案:

答案 0 :(得分:0)

首先,您必须设置分隔符字符串,然后您可以将csv文件导入所需的表。

这里假设分隔符为逗号(,)

.separator ","
.import your_csv_file.csv your_table_name

如果您使用.help,您可能会注意到一些有趣的事情:

sqlite> .help
...
.help                  Show this message
.import FILE TABLE     Import data from FILE into TABLE
...
.separator STRING      Change separator used by output mode and .import
...

答案 1 :(得分:0)

试试这个:



FileReader file = new FileReader(fileName);
BufferedReader buffer = new BufferedReader(file);
String line = "";
String tableName ="TABLE_NAME";
String columns = "_id, name, phonenumber";
String str1 = "INSERT INTO " + tableName + " (" + columns + ") values(";
String str2 = ");";
 
db.beginTransaction(); 
while ((line = buffer.readLine()) != null) {
    StringBuilder sb = new StringBuilder(str1);
    String[] str = line.split(",");
    sb.append("'" + str[0] + "',");
    sb.append(str[1] + "',");
    sb.append(str[2] + "',");
    sb.append(str[3] + "'");
    sb.append(str[4] + "'");
    sb.append(str2);
    db.execSQL(sb.toString());
} 
db.setTransactionSuccessful(); 
db.endTransaction();




取自:Import .csv file to Sqlite in Android