Tôi lãng phí hầu hết buổi sáng của mình không giải quyết vấn đề đơn giản này. Sử dụng python, tôi muốn phân tích tập tin dữ liệu mà trông như thế này:Làm cách nào để tách tệp văn bản dựa trên các khối nhận xét bằng 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
Mã python Tôi muốn sẽ phân tích ví dụ trên thành ba "khối", lưu trữ chúng như các yếu tố của một danh sách. Các khối mã riêng lẻ có thể được lưu trữ dưới dạng danh sách các dòng, có hoặc không có dòng chú thích, bất cứ điều gì. Một cách handraulic là để làm điều này:
#! /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])
Tôi đang tìm một giải pháp tổng quát hơn hỗ trợ số lượng và độ dài của tập hợp dữ liệu. Tôi đã thử một số thảm họa được xây dựng từ các vòng tìm kiếm không phải pythonic. Tôi nghĩ tốt nhất là không làm xáo trộn câu hỏi của tôi với họ; đây là công việc chứ không phải "bài tập về nhà".
sẽ một tập dữ liệu luôn được lưu trữ như là một chuỗi? –
Dữ liệu là văn bản thô, nhưng cuối cùng tôi sẽ phân tích nó thành phao. –
Bạn biết không ... Nhìn vào nó một lần nữa, tôi nghĩ rằng trong ví dụ tôi cho nó sẽ là dễ nhất để chia nó dựa trên các khối không gian màu trắng giữa các tập dữ liệu. –