qt读写CSV文件
最近的要用到CSV格式的数据,所以这篇文章讲述一下QT读取CSV文件数据 。
xls文件是Excel电子表格的文件格式,而csv是一种比较通用的文件格式,xls文件只能用Excel才能打开,而csv文件可以用Excel、记事本、文本编辑器打开。
记住:CSV文件数据项使用“,”来分割的。
代码如下:
写入数据
//打开.csv文件
QFile file("200000.csv");
if(!file.open(QIODevice::WriteOnly | QIODevice::Text))
{
qDebug()<<"Cannot open file for writing";
return;
}
QTextStream out(&file);
//创建表头
out << tr("信息,") << tr("数字,") <<"\n";
//写入内容
for(int i = 0; i < 10; i++)
{
out << "test" << "," << i << "\n";
}
//关闭文件
file.close();
读取数据
QFile file("20000.csv");
/*如果以ReadWrite方式打开,不会把所有数据清除,若文件原来的长度为100字节,写操作写入了30字节,那还剩余70字节,并且这70字节和文件打开之前保持一致*/
if(!file.open(QIODevice::ReadOnly))
{
qDebug()<<"请正确选择csv文件";
return;
}
QTextStream * read = new QTextStream(&file);
QStringList Data = read->readAll().split("\n",QString::SkipEmptyParts); //每行以\n区分
for(int i=0;i<Data.count();++i)
{
QStringList strLine = Data.at(i).split(","); //一行中的单元格以,区分
qDebug()<<strLine.at(0); //打印出每行的第一个单元格的数据
}
//关闭文件
file.close();