到目前为止,我已经能够通过查看旧线程来解决大多数问题,但这次我找不到任何与当前问题相关的内容,所以我将尝试问我自己的问题。你知道吗
我是Python新手,尝试根据数据中的条件加载一些数据。我的脚本如下所示:
infoPRD = []
with open('SpectraPRDinfo.txt') as inputfile:
for line in inputfile:
infoPRD.append(line.strip().split(' '))
datesPRD = []
for j in range(2,len(infoPRD),2):
datesPRD.append(float(infoPRD[j][3]))
因此,我检索文本文件中的信息,并在其中一列中编写一个值列表。结果是
[['fitsName', 'OBJECT', 'DATE-OBS', 'MJD-OBS', 'SNR'], [''],
['ADP.2016-03-18T01_03_02.067.fits', 'Proxima-Centauri', '2016-03-17T09:05:48.326', '57464.37903156', '3.9'], [''],
['ADP.2016-09-09T09_40_26.314.fits', 'Proxima-Centauri', '2016-02-15T09:13:39.222', '57433.38448174', '26.2'], [''],
所有日期(MJD-OBS)都被加载到一个名为datesPRD的列表中。你知道吗
所以我需要做的是只考虑最后一个值('SNR')高于给定值(例如10)的数据。如果信噪比太低,我要么在加载文件时跳过行,要么在加载后删除数据。我想第一种选择会更好,但任何帮助都将不胜感激。你知道吗
如果您的数据被排列成由字符分隔的行和列,您应该使用
csv
模块来处理它。你知道吗你能做到的
通过遍历所有行并跳过最后一个值不超过10的行来实现这一点。你知道吗
当然,我们必须跳过没有足够元素的行,并将数字从字符串类型转换为十进制类型。你知道吗
相关问题 更多 >
编程相关推荐