Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何从csv文件中读取数据并将其存储在sqlite中的数据库文件中?_Android_Database_Sqlite_Csv - Fatal编程技术网

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

Android 如何从csv文件中读取数据并将其存储在sqlite中的数据库文件中?,android,database,sqlite,csv,Android,Database,Sqlite,Csv,我有一个静态csv文件。我想将csv文件中的所有数据转换为数据库,以便在我的应用程序中访问csv文件中的数据。关于这件事,我找了很多。但我仍然很遗憾,我没能找到什么能为我的事业服务的东西。有人能帮我吗?谢谢。我不知道有什么东西会自动获取CSV文件并填充您的数据库。至少,您需要自己将文件中的每个值映射到DB行。您必须编写自己的代码来使用库或其他方式处理CSV文件,并编写代码将每个CSV行插入sqlite 请注意,处理控制其格式的CSV文件非常简单。您可以只使用FileRead和String.spl

我有一个静态csv文件。我想将csv文件中的所有数据转换为数据库,以便在我的应用程序中访问csv文件中的数据。关于这件事,我找了很多。但我仍然很遗憾,我没能找到什么能为我的事业服务的东西。有人能帮我吗?谢谢。

我不知道有什么东西会自动获取CSV文件并填充您的数据库。至少,您需要自己将文件中的每个值映射到DB行。您必须编写自己的代码来使用库或其他方式处理CSV文件,并编写代码将每个CSV行插入sqlite

请注意,处理控制其格式的CSV文件非常简单。您可以只使用FileRead和String.split。然后,再次假设CSV行中的值N映射到DB中的列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行中的值的顺序完全匹配。

最后我发现,CSV文件可以使用类似sqlite firefox扩展名的工具转换为sqlite数据库文件。转换后的文件可以在应用程序中使用。

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