【发布时间】:2016-10-18 14:34:39
【问题描述】:
在我的 Android 应用程序中,我将 SQLite .db 文件转换为 .csv 文件并保存在外部存储中 - 这部分运行良好。
然而,尽管所有数据都存在,即 23 列,当我输入一组样本数据时,输出看起来像:
"column_1_heading","column_2_heading","column_1_data","column_2_data",
所有内容都在一行中并用引号括起来。
我所追求的是它在单独的行中,没有引号,例如:
column_1_heading,column_2_heading
column_1_data,column_2_data
它们不需要按列排列,只需按顺序排列在不同的行中即可。
我用来执行转换的代码强烈基于this answer,其代码转载如下:
File dbFile=getDatabasePath("MyDBName.db");
DBHelper dbhelper = new DBHelper(getApplicationContext());
File exportDir = new File(Environment.getExternalStorageDirectory(), "");
if (!exportDir.exists())
{
exportDir.mkdirs();
}
File file = new File(exportDir, "csvname.csv");
try
{
file.createNewFile();
CSVWriter csvWrite = new CSVWriter(new FileWriter(file));
SQLiteDatabase db = dbhelper.getReadableDatabase();
Cursor curCSV = db.rawQuery("SELECT * FROM contacts",null);
csvWrite.writeNext(curCSV.getColumnNames());
while(curCSV.moveToNext())
{
//Which column you want to exprort
String arrStr[] ={curCSV.getString(0),curCSV.getString(1), curCSV.getString(2)};
csvWrite.writeNext(arrStr);
}
csvWrite.close();
curCSV.close();
}
catch(Exception sqlEx)
{
Log.e("MainActivity", sqlEx.getMessage(), sqlEx);
}
是否需要进行更改以使输出 .csv 文件与所需的输出相匹配?
【问题讨论】: