Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Sean_mephi
1 / 1 / 1
Регистрация: 15.11.2013
Сообщений: 79
#1

Сортировка csv файла по столбцу - C++

04.02.2014, 19:15. Просмотров 1128. Ответов 8
Метки нет (Все метки)

Собственно задача: есть csv файл(открывал с помощью экселя) как с ним вообще работать? Как удалить что-то ненужное или отсортировать по какому-либо столбцу?
В книгах не нашёл, гугл тоже не очень помог.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.02.2014, 19:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сортировка csv файла по столбцу (C++):

Внешняя сортировка (файла *.csv) в С++ - C++
Здравствуйте! Мучаюсь с внешней сортировкой. Есть задача - отсортировать файл с таблицей (*.csv) по какому-либо полю. Сам способ слияния я...

Сортировка по первому столбцу! - C++
Как отсортировать что бы имя с.г культуры было в алфавитмном порядке? #include "stdafx.h" #include <conio.h> #include <iostream> ...

Сортировка матрицы по строке/столбцу - C++
Как отсортировать матрицу по n строке? Нужно отсортировать матрицу, например по 2 столбцу. То есть упорядочить элементы 2 столбца, а...

Сортировка матрицы по последнему столбцу - C++
Нужно отсортировать матрицу по последнему столбцу. То есть в зависимости сортировки последнего столбца отсортировать всю матрицу. Я...

Сортировка матрицы по столбцу вместе со строкой - C++
Отсортировать столбец вместе со строкой. Пример: Отсортировать по 5 столбцу Что было: 1 3 5 6 7 2 4 6 8 2 9 7 5 3 1 1 1 1...

В прямоугольной матрице найти сумму элементов, принадлежащих первой строке, последней строке, первому столбцу и последнему столбцу. - C++
7.6.2. Помогите, пожалуйста, решить задачу в С++. В прямоугольной матрице найти сумму элементов, принадлежащих первой строке,...

8
gazlan
3133 / 1909 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
04.02.2014, 19:40 #2
Отредактировать несколько полей несложно в любом текстовом редакторе. Если же требуется серьезная (групповая) обработка, то нет никакого способа сделать это без парсинга файла. А раз все равно нужен парсинг, то проще всего сделать это импортом в конвенциональную базу данных со встроенными возможностями поиска/сортировки/редактирования и обратным экспортом в .CSV-файл.
0
Sean_mephi
1 / 1 / 1
Регистрация: 15.11.2013
Сообщений: 79
04.02.2014, 19:41  [ТС] #3
gazlan, мне нужна программа на плюсах. Которая распарсит файл и отсортирует по какому-либо столбцу.
0
gazlan
3133 / 1909 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
04.02.2014, 20:26 #4
Цитата Сообщение от Sean_mephi Посмотреть сообщение
мне нужна
Ну, кому надо, тот и пишет :-)

Если .CSV-файл невелик (умещается в RAM), то задача тривиальна. Парсинг делается по разделителю (обычно ',' или ';'). Читаете построчно, заполняете грид, сортируете по нужному столбцу, записываете обратно. Если структура таблицы известна заранее, контейнера типа "вектор" и собственной функции сортировки по выбранному полю будет достаточно. На квотирование строковых литералов при этом можно не обращать внимания.
0
Sean_mephi
1 / 1 / 1
Регистрация: 15.11.2013
Сообщений: 79
04.02.2014, 20:38  [ТС] #5
Цитата Сообщение от gazlan Посмотреть сообщение
Ну, кому надо, тот и пишет :-)

Если .CSV-файл невелик (умещается в RAM), то задача тривиальна. Парсинг делается по разделителю (обычно ',' или ';'). Читаете построчно, заполняете грид, сортируете по нужному столбцу, записываете обратно. Если структура таблицы известна заранее, контейнера типа "вектор" и собственной функции сортировки по выбранному полю будет достаточно. На квотирование строковых литералов при этом можно не обращать внимания.
Что такое грид?
Что значит ваше последнее предложение?
0
gazlan
3133 / 1909 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
04.02.2014, 21:05 #6
Цитата Сообщение от Sean_mephi Посмотреть сообщение
Что такое грид?
Grid - сетка. В вашем случае, таблица. Если .CSV-файл содержит строковые поля, при выводе они квотируются (заключаются в кавычки). Внутри таких полей могут содержаться разделители (такие, как ','). Некоторые программы квотируют все поля, даже числовые.

Сталкивался с тем, что даже разные программы от одного вендора различным образом создают .CSV-файлы. Так что, возможны всяческие сюрпризы.
0
Sean_mephi
1 / 1 / 1
Регистрация: 15.11.2013
Сообщений: 79
04.02.2014, 21:14  [ТС] #7
gazlan, ладно. Забудем о csv. Есть текстовый файл. Такого типа:
Маша;кошка;14;красный
Петя;собака;12;зелёный

Я хочу его распарсить и удалить из него всех мальчиков и отсортировать оставшихся по возрасту. Есть какие-нибудь идеи?
0
gazlan
3133 / 1909 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
04.02.2014, 21:33 #8
strtok()
0
Sean_mephi
1 / 1 / 1
Регистрация: 15.11.2013
Сообщений: 79
04.02.2014, 21:36  [ТС] #9
gazlan, Большое спасибо
0
04.02.2014, 21:36
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.02.2014, 21:36
Привет! Вот еще темы с ответами:

Чтение CSV-файла в двумерный массив - C++
Есть файл вида:Нужно собрать числа в двумерный массив. Количество строк в файле неизвестно. Попробовал использовать регулярные выражения....

Код для парсинга одного столбца с данными из CSV файла ? - C++
Есть .csv файл в нем 6 столбцов разделенных ";". Нужно импортировать в double 4 столбец из файла. Не могу найти короткий код....

Разработка программы конвертации csv файла в xml структуру данных - C++
Здравствуйте,скажите пожалуйста.реально ли разработать программу конвертации csv файла в xml структуру данных.

Чтение из csv файла в двумерный массив географических координат с нестандартными символами - C++
Добрый вечер! После Hello Word это моя первая прога на с++, поэтому очень прошу помочь. Задача состоит в следующем Есть csv файл,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.