相关疑难解决方法(0)

从CSV文件填充Android数据库?

是否可以将存储在res/raw资源目录中的csv文件用于填充sqlite3数据库中的表?

我的想法是,如果有一种方法可以将整个文件批量导入到表中,那么比迭代文件中的每一行并执行单独的插入语句更简洁,更快......

我发现有一个sqlite import命令允许这样:如何导入将.sql或.csv文件加载到SQLite中?

...但我在Android应用程序中应用这些语句时遇到了问题.我的第一个想法是尝试类似下面的东西......但没有运气:

db.execSQL("CREATE TABLE " + TABLE_NAME + "(id INTEGER PRIMARY KEY, name TEXT)");
db.execSQL(".mode csv");
db.execSQL(".import res/raw/MyFile.csv " + TABLE_NAME); 
Run Code Online (Sandbox Code Playgroud)

这可能吗?

我应该尝试不同的方法来填充我的数据库吗?

更新:我将Josef的回复标记为答案(使用交易批量插入),因为它工作正常并根据我的标题直接回答我的问题(感谢Josef).但是,我仍在寻找一种方法,使用import语句在csv文件中将Android应用程序批量插入到sqlite3表中.如果你知道怎么做,请回复.

谢谢你的回答!

database sqlite import android

29
推荐指数
2
解决办法
4万
查看次数

将.csv文件导入Android中的Sqlite

我有一个.csv文件,我想将这个文件导入到android中的数据库中.

例如,.csv文件:

| id | name  | dt1 | dt2 | dt3 | 
| 1  | Paul  | 21  | 98  | 91  |
| 2  | John  | 22  | 44  | 11  |
| 3  | George| 21  | 31  | 22  |
| 4  | Ringo | 20  | 10  | 15  | 
Run Code Online (Sandbox Code Playgroud)

对于这样的事情:

Cursor cursor = getWritableDatabase().
rawQuery("Insert into table1(_id, name, dt1, dt2, dt3)
values ( 1, Paul, 21, 98, 91)
values ( 2, John, 22, …
Run Code Online (Sandbox Code Playgroud)

database csv sqlite import android

27
推荐指数
2
解决办法
5万
查看次数

标签 统计

android ×2

database ×2

import ×2

sqlite ×2

csv ×1