csv文件的实质就是在每行的各项数据之间添加逗号分隔符 ,,所有我们直接使用 QFile 和 QTextStream 去实现读写。 代码如下所示:
/*********点表数据插入文件**********/ void PointsValue::insertPointDatabase() { std::lock_guard<std::mutex> lk(lockMutex); // qDebug()<<“totalonfodata===num===”<< totalInfoData.size(); QMap<uint32_t,InfoData > ::iterator iter=totalInfoData.begin(); QDir dir(POINTDATAPATH); if (dir.exists()==false) { TRACE_IF(“不存在\n”); QDir().mkdir(POINTDATAPATH); } QString timestr = QDate::currentDate().toString(“yyyyMMdd”); QString pathstr = QString::fromStdString(POINTDATAPATH)+”elephant_”+timestr+”.csv”; QFile data(pathstr); if (data.open(QFile::WriteOnly | QIODevice::Append)) { QTextStream out(&data); out << QDateTime::currentDateTime().toString(“yyyy年MM月dd日 hh时mm分ss秒”); out << “\n”; while(iter!=totalInfoData.end()) { out << QString::fromUtf8(iter.value().infoname); out <<“,”; out << iter.value().info_address; out <<“,”; out << iter.value().info_rate; out <<“,”; out << iter.value().info_value; out <<“,”; out << iter.value().isactivepower; out << “\n”; ++iter; } } data.close(); }<
如上所示,按照每日的文件来创建,可以将数据全部存入
免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:qt 写入csv文件 https://www.yhzz.com.cn/a/14471.html