Filestreams позволяют нам выполнять итерацию по строкам файла. Когда мы разделим линию, например. через запятую или пробел, обычно нужно добавить этот результирующий вектор в другой контейнер.Неестественное чтение в файлах данных по строкам
В результате может возникнуть Vector< Vector<String> >
(или ваш вкус контейнеров).
Когда я даю это QTableView
с использованием QAbstractTableModel
, строки и столбцы инвертируются: внешний контейнер фактически обозначает строки, а внутренний контейнер обозначает столбцы.
Я не уверен, что делать, поскольку я хочу представить данные, разрешить некоторые действия по редактированию (редактирование модели ), а затем записать ее в сопоставимый файл.
Мои данные будут составлять около 200 000 строк (людей) на 300 столбцов (значения), и это на самом деле медленнее читать в вектор из файла, но быстрее представить в QTableView
, когда я прочитал матрицу в перевернутый способ. При написании его в другой файл, это не так просто на этот раз выписывать транспонированной вектор по сравнению с обычным способом, в котором вы можете просто:
for (int iter = 0; ....; ...)
{
row = matrix[iter].join(" ")
file.write(row)
}
я упускаю что-то очевидное? Он должен отображаться инвертированным образом. При подключении модели к представлению я должен транспонировать, или я должен заполнить матрицу изначально перевернутым способом?