c++ - 按行解析和排序 csv 文件

标签 c++ file parsing

得到了我的跳跃日志的这个 csv 文件,并希望在每个 block (跳跃记录)中进行排序,以便首先列出讲师,然后列出学生,最后列出可选的摄影师。 目前它们是以各种顺序编写的。

正在考虑读取 block 的每一行并将其分配到 vars 中,然后使用空行作为循环控制进行打印。我在正确的轨道上吗? 更喜欢 C++ 中的解决方案帮助(一点经验和编译器设置),但我很灵活,希望在今年夏天真正了解任何推荐语言的细节。可能是 Python 或任何一本介绍 CompSci 的好书。

非常感谢任何建议和引用!

第一个列是角色:1,2,3。

role(1,2,3),date (yyymmdd),aircraft-liftnumber,name 角色 1 是串联讲师, 角色 2 是学生, 角色 3 自由落体相机(可选)

1,20100124,C206WR-L1,麦克皮特

2,20100124,C206WR-L1,霍华德斯蒂芬

3,20100124,C206WR-L1,琼斯·戴夫

,,,

2,20100124,C206WR-L3,ALLSOP BEX

1,20100124,C206WR-L3,麦克皮特

3,20100124,C206WR-L3,琼斯·戴夫

,,,

1,20100124,C206WR-L2,麦克皮特

3,20100124,C206WR-L2,劳尔·芬奇

2,20100124,C206WR-L2,琼斯·戴夫

,,,

1,20100124,C206WR-L4,麦克皮特

3,20100124,C206WR-L4,劳尔·芬奇

2,20100124,C206WR-L4,琼斯·戴夫

,,,

2,20100124,C206WR-L4,史密斯约翰

1,20100124,C206WR-L4,麦克皮特

,,,

2,20100124,C206WR-L5,布朗克莱尔

3,20100124,C206WR-L5,琼斯·戴夫

1,20100124,C206WR-L5,麦克皮特

最佳答案

尝试使用 std::multimap 在插入时对它们进行排序,并且不要丢失任何数据,因为 multimap 可以有多个相同的键值。 (在这种情况下,键值将是角色编号。)因此,数据将按照您的需要进行排序。

关于c++ - 按行解析和排序 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10383119/

相关文章:

java - 用于获取文件夹的所有符号链接(symbolic link)的文件 API

parsing - React - 模块解析失败

c++ - boost::iostreams 管理资源

c++ - 为什么 std::bind() 在这种情况下不适用于常量?

c++ - 如何防止基类指针下的派生类对象调用基类中定义但在派生中被覆盖的公共(public)非虚函数?

java - JDK7 文件.copy

c++ - 将托管引用传递给采用非托管指针的方法

Python 删除空格

java - 如何根据java中的模式生成随机数/字符串?

c++ - yaml-cpp 解析混合数组/字符串节点时遇到问题