我是物理学家,在编程问题上需要一些帮助!我有一组数据,其中包含许多事件,对于每个事件,都会调用一个函数,就像这样
for event in range(100000):
ProcessRegion(region, event)
这些事件发生在探测器的特定区域,称为cells
. 每个单元格都有两个通道,我可以使用一种由partition
amodule
数字和 a组成的地址来知道事件发生的确切区域channel
。有4个分区(LBA、LBC、EBA、EBC),64个模块和47个通道。我有三个长文件,其中包含我必须使用的更多数据,它们的格式如下
EBC64 41 1 1.012327
EBC64 42 0 1.000000
EBC64 42 1 1.000000
EBC64 43 0 1.000000
EBC64 43 1 1.000000
EBC64 44 0 1.000000
EBC64 44 1 1.000000
EBC64 45 0 1.000000
EBC64 45 1 1.000000
EBC64 46 0 1.000000
EBC64 46 1 1.000000
EBC64 47 0 1.000000
EBC64 47 1 1.000000
这样您就可以看到分区和模块(如 EBC64)一个空格和通道号,最后一列是我要使用的数据。我想从中读取三个这样的文件,我的问题是使用类似的方法
def ProcessRegion(region, event):
partition = region.get_partiotion()
module = region.get_module()
channel = region.get_channel()
我怎样才能在这三个文件中获得准确的行,以便我可以提取数据并将其用于分析?
编辑:
对不起这个晦涩的问题,我试着更好地解释它。
有了分区模块和通道,我想在三个文件中的每一个中找到与其对应的数据,例如对于一个事件,我有分区 = EBC,模块 = 64,通道 = 41。现在有了这些信息,我想调查三个不同的文件来获取数据,所以在这种情况下,从上面的列表中,将是 1.012327。我希望这能澄清一点,如果不是我可以再重写一次!