Итак, во-первых.Исходя из вида данных, которые вы хотите сгенерировать, я бы, вероятно, хотел бы переместить эти данные в базу данных SQL, если это возможно.Это вещи типа «один SQL-запрос».И гораздо более удобен в обслуживании, чем C ++, который генерирует файлы CSV из файлов CSV.
За исключением этого, я бы, вероятно, посмотрел на использование datamash
и / или perl
.На платформе Windows вы можете сделать это через Cygwin или WSL.Вероятно, менее поддерживаемый, но гораздо проще, это не слишком большая проблема.
Тем не менее, если вы ищете что-то умеренно поддерживаемое, C ++ может работать.Первое, что я хотел бы сделать, это спроектировать входные классы.Данные ориентированы, но это может работать.Похоже, у вас может быть класс Country
, класс Security
и класс SecurityClose
... или что-то в этом роде.Вы можете подумать о том, должен ли класс Security содержать коллекцию SecurityClose
es (data) или данные должны быть просто "свободными" и ссылаться на Security
, к которому он принадлежит.То же самое с отношением Страна-> Безопасность.
Как только вы определились с тем, как все это будет выглядеть, вы захотите что-то (скорее всего, функцию), которая может tokenize
линия CSV.Таким образом, "1,2,3"
превращается в vector<string>
с содержанием "1"
"2"
"3"
.Затем каждый из ваших входных классов должен иметь конструктор или инициализатор, который принимает vector<string>
и заполняет себя.Возможно, вам также придется передавать данные более высокого уровня.Как и имя файла, если вы хотите, чтобы данные безопасности знали, к какой безопасности они относятся ..
Это в основном большая часть битвы.Как только вы соберете свои данные в разумно организованные классы, все остальное должно стать легче.И если вы столкнетесь с трудностями, надеюсь, вы сможете задать оттуда специфические вопросы проектирования или реализации.