最近我有一个关于数据类型的问题。
从那时起,我一直在尝试使用NamedTuples(有更多或更少的成功)。
我目前的问题:
- 如何将文件中的行导入到新元组中,
- 如何将用空格/制表符(/任何其他分隔符)分隔的值导入到元组的特定部分中?
例如:
Monday 8:00 10:00 ETR_28135 lh1n1522 Computer science 1
Tuesday 12:00 14:00 ETR_28134 lh1n1544 Geography EA 1
第一行应该放在tuple[0]中。第一个数据:tuple[0].day; 第二个:tuple[0].start; ...以此类推。
当新的一行开始时(即两个TAB(\t)),开始一个新的元组,例如tuple[1]。
我用这个来分隔数据:
with open(Filename) as f:
for line in f:
rawData = line.strip().split('\t')
还有一部分逻辑还没有完成(填充元组)。
我知道,这个问题和最近的一个问题都非常基础。但是,我希望这些问题也能帮助其他人。如果你觉得这不是一个真正的问题,或者太简单了,等等,请投票关闭。谢谢您的理解。
collections
中导入了它?from collections import namedtuple
。然后创建元组子类:MyRecord = namedtuple('MyRecord', ['day,', 'start', 'and so on', '...'])
,然后只需调用其_make
方法:for line in reader: line = MyRecord._make(line); print line.day, line.start
- mg.