如何将.csv文件导入到SQLite for Android?

时间:2011-07-13 03:34:08

标签: android database sqlite csv

我之前从未使用过数据库,所以请耐心等待。我正在为Android平板电脑编程,但我还没有一个,但是会在一周内收到它。我在Excel中有一个.csv文件,我想在我的应用程序中使用它的数据。我知道Androids带有SQLite,但究竟是什么或如何使用它超出了我。

我将继续努力学习数据库,但首先 - 如何将我的csv文件导入SQLite?我可以从我的电脑上做到这一点,还是我必须在平板电脑上等待?我需要下载什么来实现这一目标,我需要输入的确切内容和位置等等......我需要真正基本的指示来完成此操作,我在网上找到的所有内容都因为我的完整缺乏经验。

2 个答案:

答案 0 :(得分:1)

你可以download SQLite给你PC并在此期间修补它。导入不一定要在手机上进行。

您可以在their wiki找到许多方法来执行此过程。

答案 1 :(得分:0)

尝试这样的事情:

 ...
 BufferedReader buffer = new BufferedReader(new InputStreamReader(inStream));
 String line = "";
 db.beginTransaction();
        try {
            while ((line = buffer.readLine()) != null) {
            String[] colums = line.split(",");
                if (colums.length != 4) {
                    Log.d("CSVParser", "Skipping Bad CSV Row");
                    continue;
                }
                ContentValues cv = new ContentValues(3);
                cv.put(dbCol0, colums[0].trim());
                cv.put(dbCol1, colums[1].trim());
                cv.put(dbCol2, colums[2].trim());
                cv.put(dbCol4, colums[3].trim());
                db.insert(TABLE, null, cv);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
   db.setTransactionSuccessful();
   db.endTransaction();

如何阅读CSV文件

file.csv 复制到assets文件夹中,并按以下方式阅读:

String mCSVfile = "file.csv";
AssetManager manager = context.getAssets();
InputStream inStream = null;
try {
     inStream = manager.open(mCSVfile);
    } catch (IOException e) {
     e.printStackTrace();
    }

 BufferedReader buffer = new BufferedReader(new InputStreamReader(inStream));
...