如何从csv文件中读取数据并将其存储在sqlite中的数据库文件中?

时间:2012-03-18 19:17:37

标签: android database sqlite csv

我有一个静态的csv文件。我想将csv文件中的所有数据转换为数据库,以便我可以访问应用程序中csv文件中的数据。我已经搜索了很多关于这一点。但我仍然无法找到适合我事业的东西。有人可以帮我这个吗?谢谢。

3 个答案:

答案 0 :(得分:1)

我不知道任何会自动获取CSV文件并填充数据库的内容。至少,您需要自己将文件中的每个值映射到数据库行。您将不得不编写自己的代码来处理CSV文件(使用库或其他方式),并编写代码以将每个CSV“行”插入到sqlite中。

请注意,处理您控制格式的CSV文件非常简单。你可以使用FileRead和String.split()。然后,再次假设CSV行中的值N映射到DB中的col N,您可以这样做,

private static final List<String> COLUMNS = new ArrayList<String>() {
  add("NAME"); add("ADDRESS"); add("ZIPCODE"); ...;
}

SQLiteDatabase db = ...;
BufferedReader br = new BufferedRead(new FileReader("foo.csv"));
String line;
while ((line = br.readLine()) != null) {
  Iterator cols = COLUMNS.iterator();
  String[] vals = line.split("\\s*,");
  ContentValues cv = new ContentValues();
  for (String v: vals) {
    cv.put(cols.next(), v);
  }
  db.insert(..., cv);
}

在此示例中,您必须确保COLUMNS中定义的列的顺序与每个CSV行中的值的顺序完全匹配。

答案 1 :(得分:0)

最后我想通了,可以使用sqlite firefox扩展等工具将csv文件转换为sqlite数据库文件。然后可以在应用程序中使用转换后的文件。

答案 2 :(得分:-1)

首先在程序中导入csv文件 你没告诉你的节目 如果您使用.net将您的csv文件加载到datagridview,然后将整个数据保存到sqlite数据库..