我在早上浪费了大部分时间,都未能解决这个简单的问题。使用Python,我想要解析类似于这样的数据文件:
# This is an example comment line, it starts with a '#' character.
# There can be a variable number of comments between each data set.
# Comments "go with" the data set that comes after them.
# The first data set starts on the next line:
0.0 1.0
1.0 2.0
2.0 3.0
3.0 4.0
# Data sets are followed by variable amounts of white space.
# The second data set starts after this comment
5.0 6.0
6.0 7.0
# One more data set.
7.0 8.0
8.0 9.0
我需要一个Python代码,将上述示例解析为三个“块”,并将它们作为列表元素存储。单独的代码块可以自行存储为行的列表,带或不带注释行。一种手动的方法是这样做:
#! /usr/bin/env python
# Read in data, seperate into rows_alldata
f=open("example")
rows = f.read().split('\n')
f.close()
# Do you haz teh codez?
datasets=[]
datasets.append(rows[0:8])
datasets.append(rows[9:13])
datasets.append(rows[15:18])
我正在寻找一种更通用的解决方案,支持不同数量和长度的数据集。我尝试了几个基于非Python风格循环的灾难。我认为最好不要在我的问题中混杂它们,因为这是工作而不是"家庭作业"。