Qt отделяет CSV-файл и хранит в разных переменных - PullRequest
0 голосов
/ 04 декабря 2018
#include <QCoreApplication>
#include"administrative.h"
#include"employee.h"
#include"technical.h"
#include<iostream>
#include<string>
#include<QVector>
#include<QFile>
#include<QTextStream>
#include<fstream>
using namespace std;
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QFile t("C:\\Users\\User006\\Documents\\EmployeeCSV_Vector\\technical.csv");

        if (!t.open(QFile::ReadOnly | QFile::Text))
            cout << "ERROR: File open";

        QTextStream in(&t);
        while (!in.atEnd())
        {
                         QString line=in.readLine();
           for (int i=0;i<line.size();i++)
            {
               QString item=line.split(",");
                QString name=item;
                QString empCode=item;
                QString designation=item;
                QString prCode=item;
                QString BP=item;
                QString DA=item;
                QString PA=item;
                cout<<name.toStdString()<<"\t";

            }

 }
 t.close();

Это код. Пожалуйста, помогите мне сделать это.Файл technical.csv содержит некоторые значения, разделенные запятой, это файл csv.Мне нужно каждое значение в строке отдельно в другой переменной. Пожалуйста, помогите мне. Спасибо заранее

Ответы [ 2 ]

0 голосов
/ 04 декабря 2018

Интересно, компилируется ли ваш код?Согласно Qt, метод QString :: split возвращает QStringList.После разделения у вас есть элементы в списке.Предполагая, что все столбцы соответствуют ожидаемым, вы можете интерпретировать файл следующим образом:

   QTextStream in(&t);
    while (!in.atEnd())
    {
       QStringList items = in.readLine().split(',');
       QString name = items.at(0);
       ...
       QString PA   = items.at(6); 
       std::cout<<name.toStdString()<<std::endl;
       // do some processing 
    }
0 голосов
/ 04 декабря 2018

В зависимости от структуры файла (содержит ли он заголовки строк / столбцов, одиночные / многострочные?), Вы используете QString::split(), чтобы получить QStringList на строку.Затем вы присваиваете переменные списка строк в соответствии со своими знаниями структуры CSV.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...