我正在尝试读取一个大型数据文件并将其转换为我的其他脚本可以更好地处理的格式。
每个数据文件都有一系列标题,后跟两列引用相关数据点。然后是另一系列标题(在同一列中)和下一组相关数据点。例如:
我需要对这些行进行排序并将它们写入由多列组成的文件。所以每组数据的第一列是相同的(频率),所以我想要得到的应该如下所示:
我是 python 新手,还必须找到任何甚至一半成功的方法来管理它。我尝试了一个基本的 if 语句:
def LoadData(filename):
Datafile = open(filename,'r')
# Define empty lists to read the values into
a1 = []
data=Datafile.readlines()
index = 1
for line in range(14,len(data)):
w=data[line].split()
if type(w[0]) == float:
a1.append(w[index])
if re.findall(r'[\w.]THz', w[0]):
index = index +1
return a1
但是由于我无法将列表定义为多维的,所以我不知道如何才能将下一组数据值分配给另一列。定义一个 numpy 数组也对我没有帮助,因为我需要知道确切的尺寸才能开始。
我确信必须有一个相对直接的方法来做到这一点,但我没有找到它。我会很感激任何帮助!
这是按照评论中的要求使用记事本打开的数据: