Advanced search
Evgenij LegotskojAug. 28, 2016, 10:08 a.m.

QtQt/C++ - Lesson 054. Reading data from a CSV file, and their representation via QStandardItemModel

CSV, QStandardItemModel, Qt, QTableView

CSV data format ( Comma-Separated Values ) format is the simplest representation of tabular data. This format is supported by Excel and many other office suites. For example, I often encounter this format when uploading statistics do the site of the panel webmasters Google Search Console.

In this format, the table represents the data sequence, separated by commas, and represent the column and row are separated by a newline. In the case of the Russian-language Microsoft Excel data separated by semicolons and will be as follows:

BMW;X5;3000000
Lada;Kalina;250000

Parsing CSV

So the whole problem is reduced to a line reading data from a file and uploads the data model of data presentation, which will be placed in QTableView .

Let us take as a basis the above example, the contents of a CSV file that was created in Microsoft Excel:

And display it in QTableView via QStandardItemModel:

Evgenij LegotskojNov. 25, 2015, 8:43 a.m.

QMLQML - Lesson 017. Export data into CSV format from data model in QML Qt

QML, Qt, CSV, EXCEL

In that case, if you need to unload the table data from an application to a CSV file, the interface is more and is written in the QML, then hasten to this article, to give a little hint.

For example, in an article on work with SQLite database in the annex to the QML database was created, to which is added the data and removed from it. At the same time they appear in the TableView, which was already part of the interface written in QML. And to display the table used by the data model to inherit from QSqlQueryModel .

I propose to use the source code of the project and expand it so that there was a button in the application to export data to a CSV file.

What is a CSV format

CSV ( Comma-Separated Values ) — text format for presenting tabular data. Each line of the file - this is one line of the table. The values of individual columns are separated by a separating character (delimiter) - a comma (,). However, most of the programs is free treats CSV standard and allow the use of other characters as the delimiter.

In general, the essence of the work is reduced to ensure a method to our data model that will pull data from this model and a semicolon each cell in the row, and each row share a newline character "\ n".

Donate

Did the EVILEG help you? Support the development of the site!

PayPalYandex.Money
How to become an author?

Contribute to the evolution of the EVILEG community.

Learn how to become a site author.

Learn it
Timeweb

Let me recommend you the excellent hosting on which EVILEG is located.

For many years, Timeweb has been proving his stability.

For projects on Django I recommend VDS hosting

View Hosting
SK

C++ - Test 001. The first program and data types

  • Result:80points,
  • Rating points4
SK

Qt - Test 001. Signals and slots

  • Result:78points,
  • Rating points2
S
  • Sergej
  • July 10, 2020, 2:15 p.m.

Qt - Test 001. Signals and slots

  • Result:68points,
  • Rating points-1
Last comments

Qt/C++ - Lesson 023. Moving QGraphicsItem on QGraphicsScene with mouse help

Пережиток plain C, ограничение видимости. По идее можно и .c, .cpp файлы подключать через директиву include. Для компилятора разницы особой нет, какое расширение будет.
R

Qt/C++ - Lesson 023. Moving QGraphicsItem on QGraphicsScene with mouse help

Подскажите, пожалуйста, почему функция рандома определена только в спп файле и объявлена при этом статической?
V

Django - Tutorial 027. Implementation Google reCAPTCHA

Спасибо. Только использую декоратор не в urls.py а перед views
R

Qt WinAPI - Lesson 001. How to collect all DLL, which used in Qt project?

Вы меня не совсем правильно поняли, но все равно спасибо, принял все к сведению. Все сделал как вы сказали, все отлично работает, еще раз огромнейшее спасибо) Разве что только что были опять про…

Qt WinAPI - Lesson 001. How to collect all DLL, which used in Qt project?

Стоило перед использованием что ли инструкцию прочитать https://www.cyberforum.ru/blogs/131347/blog2457.html "После сборки при запуске требовались dll," Ясное дело стоило задепло…
Now discuss on the forum
m

Qt IOs магнитное поле

Всем привет! Пытаюсь получить данные магнитного поля, используя класс QMagnetometer. Все получается, если задать параметр returnGeoValues false (как по-умолчанию). При этом выдаются ra…
DK

Drug Drop problems

благодорю!

Как в Qt в qmenu добавить scrollarea

Вот это наследованный класс меню. Но посути это обычное меню. #pragma once#include <QtWidgets>class TransMenu : public QMenu { Q_OBJECTpublic: TransMenu(QWidget* parent = …
o

Нужен человек кто хорошо понимает паттерны и их использование

Добрый день. Если вопрос про паттерны, то рисуй диаграмму классов.

Сборка Qt / C++ проекта под windows и linux

Отбой. Забыл в исходнике обернуть каждый #include макросом. #ifdef Q_OS_WIN32#include "win_controller.h"#else#include "linux_controller.h"#endif
About
Services
© EVILEG 2015-2020
Recommend hosting TIMEWEB