我有一个 ASCII 数据文件,它的格式对我来说是不熟悉的,就我如何最好地将数据读入 Python 中的列表或数组而言。ASCII 数据文件的格式如下:
line 0: <month> <year>
lines 1 - 217: 12 integer values per line, each value has seven spaces, the first is always a space
例如,文件中的第一条记录如下所示:
1 1900
-32768 -32768 790 -1457 -1367 -16 -575 116 -32768 -32768 1898 -32768
-32768 -1289 -32768 -32768 -32768 -32768 -32768 -32768 -32768 -32768 -32768 -32768
-32768 -32768 -92 -32768 -32768 -32768 125 -32768 -32768 -32768 -32768 -32768
-32768 -32768 -32768 -32768 -32768 -1656 -32768 -764 -32768 -32768 -32768 -32768
<212 more lines like the above for this record, same spacing/separators/etc.>
我将上面的称为单个记录(单个月份的所有数据),文件中大约有 1200 条记录。月份从 1 到 12 依次增加,然后随着年份值的增加重新开始。我想一次读取一个记录,如下所示:
with open(data_file, 'r') as dataFile:
# while file still has unread records
# read month and year to use to create a datetime object
# read the next 216 lines of 12 values into a list (or array) of 2592 values
# process the record's list (or array) of data
有人可以建议一种有效的“Pythonic”方式来对记录进行上述循环,包括如何最好地将数据读入列表或数组?
在此先感谢您的帮助!