【发布时间】:2015-03-18 21:16:03
【问题描述】:
我有一个 csv 文件,其内容格式如下:
CSE110, Mon, 1:00 PM, Fri, 1:00 PM
CSE114, Mon, 8:00 AM, Wed, 8:00 AM, Fri, 8:00 AM
基本上是课程名称,然后是时间。
解析和存储这些数据的最佳数据结构是什么?
我尝试如下使用命名元组:
CourseTimes = namedtuple('CourseTimes', 'course_name, day, start_time ')
但如上面 cse114 所示,可以在多天多时间安排一门课程。这只能在运行时决定。如何处理?
否则,我可以使用字典或列表吗?
我正在尝试解决将助教分配给课程的时间安排问题。我可能需要比较时间来检查将来是否有任何碰撞
为了使事情复杂化,输入文件还有其他数据需要我解析。基本上以下是格式。
//Course times
CSE110, Mon, 1:00 PM, Fri, 1:00 PM
CSE114, Mon, 8:00 AM, Wed, 8:00 AM, Fri, 8:00 AM
....
//Course recitation times
CSE306, Mon, 2:30 PM
CSE307, Fri, 4:00 PM
...
//class strength
CSE101, 44, yes
CSE101, 115, yes
...
我想我需要将所有这些存储在单独的数据结构中。每个类别的正确正则表达式模式是什么?
【问题讨论】:
-
您需要构建数据以适应您将要使用它做什么。
-
正确的数据结构取决于你想对数据做什么。如果您只想打印数据,那么您只需要一个大字符串。如果您需要排序或计数或执行其他操作,那么这些操作会通知您选择数据结构。
-
为什么不使用
dictionary? -
我正在尝试解决调度问题,以便将 TA 分配给课程。我可能需要比较时间来检查将来是否有任何碰撞。
-
那么给定输入内容(例如课程名称?日期?),您需要检索哪些信息?枚举此处所需的操作时,需要彻底。
标签: python regex csv data-structures namedtuple