gpt4 book ai didi

安卓导出数据到csv

转载 作者:太空宇宙 更新时间:2023-11-03 10:46:21 25 4
gpt4 key购买 nike

我想以 CSV 格式从我的 SQLite 数据库中的表中导出一些字段。我正在使用库 opencsv-2.4。有效,但表格的所有列都存储在电子表格的单个列中,而必须分开。这是我的方法:

  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 = mHelper.getReadableDatabase();
Cursor curCSV = db.rawQuery("SELECT * FROM Table",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);
}

最佳答案

您需要为列使用分隔符。

使用这个语法:

CSVWriter writer = new CSVWriter(new FileWriter(file), ",", "", "\n");

代替:

CSVWriter csvWrite = new CSVWriter(new FileWriter(file));

这会将逗号 (,) 设置为字段分隔符,并将换行符 (\n) 设置为行终止符

或者干脆

CSVWriter writer = new CSVWriter(new FileWriter(file), ",");

这会将逗号 (,) 设置为字段分隔符。
Excel 使用分号 (;)。
其他软件可能使用竖线 (|) 或制表符 (\t) 或 ...

关于安卓导出数据到csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22917722/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com