【发布时间】:2014-01-03 16:52:07
【问题描述】:
我从 csv 中的客户端获得了一个相当大的数据集,我需要将其转换为 Android 中的 sqlite。所以我有一个我写的方法来做到这一点-
db.beginTransaction();
while ((line = bufRdr.readLine()) != null) {
try {
insertValues = line.split(",");
if (flag_is_header) {
row = this.insertRow(insertValues[0], insertValues[1], insertValues[2], insertValues[3], insertValues[4]);
} else {
flag_is_header = true; //so it skips the first line
}
} catch (Exception e) {
Log.e(TAG,"row# "+row+" error");
}
}
db.setTransactionSuccessful();
db.endTransaction();
而且效果很好。在 5 秒内插入 9k 行。
问题是某些数据在单元格内有换行符。即这个-
Steps needed
1 .....
2 .....
3 .....
可以是一个单元格的值,所以当我的循环遇到换行符(在单元格内)时,它认为要插入一个新行并破坏代码。
是否有其他方法可以导入数据而不是使用换行符,或者我应该完全做其他事情吗?
感谢您的帮助
ps。出于后勤原因,我无法预填充数据库并发送它。
【问题讨论】:
标签: java android sqlite csv line-breaks