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

问题描述:

我有一个静态的csv文件。我想将csv文件中的所有数据转换为数据库,以便我可以访问我的应用程序中csv文件中的数据。我已经搜寻了很多关于这个。但是我仍然无法找到符合我的理由的东西。有人可以帮助我吗?谢谢。如何从csv文件读取数据并将其存储在我的数据库文件中的sqlite中?

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

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

请注意,处理您控制格式的CSV文件非常简单。你可以使用FileRead和String.split()。然后,再假定值N在CSV行映射到山坳N的DB,你可以以它为例,

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); 
} 

,你必须确保列的列定义的顺序与完全匹配每个CSV行中的值的顺序。

首先导入CSV文件在你的程序 你没有告诉你的程序 如果您使用的是.NET CSV文件加载到datagridview的,然后整个数据保存到SQLite数据库..