void FileCoversion(QString _path)
{
// 打开文件
QString file_path(_path+"mychart.csv");
QFile file(file_path);
if(!file.open(QIODevice::ReadOnly|QIODevice::Text))
qDebug()<<"open failed!";
// 判断当前路径下是否有db文件
QFileInfo fileInfo(_path+"mychart.db");
if(fileInfo.isFile())
return;
// 打开数据库
QSqlDatabase db = QSqlDatabase::addDataBase("QSQLITE"); // 数据库类型
db.setDatabaseName(_path+"mychart.db");
if(!db.open()){
QMessageBox::critical(0,"unable","can not open database.",QMessageBox::Cancel);
return;
}
QSqlQuery query; // 默认打开
query.exec("create table a (x double,y int);"); // 创建表格a 第一列x double型 第二列y int型
query.exec("delete from a;"); // 删除表格a的数据
QStringList list;
list.clear();
QTextStream in(&file); // QTextStream读取数据
// 将csv转为数据库的表保存
while(!in.atEnd()){
QString fileLine = in.readLine(); // 从第一行读取至下一行
list = fileLine.split(",",QString::SkipEmptyParts);
QString insert_str = QString("insert into a (x,y) value('%1','%2')").arg(list.at(0).toDouble()).arg(list.at(1).toInt());
query.exec(insert_str);
// qDebug()<<query.lastError();
}
query.clear();
db.close();
}
Qt|将.CSV文件转为.DB文件
最新推荐文章于 2024-08-17 15:51:32 发布