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();