我正在读一个.dat
文件,在它到达实际数据之前,前几行只是元数据。.dat
文件的缩写示例如下。你知道吗
&SRS
SRSRUN=266128,SRSDAT=20180202,SRSTIM=122132,
fc.fcY=0.9000
&END
energy rc ai2
8945.016 301.32 6.7959
8955.497 301.18 6.8382
8955.989 301.18 6.8407
8956.990 301.16 6.8469
或如清单所示:
[' &SRS\n', ' SRSRUN=266128,SRSDAT=20180202,SRSTIM=122132,\n', 'fc.fcY=0.9000\n', '\n', ' &END\n', 'energy\trc\tai2\n', '8945.016\t301.32\t6.7959\n', '8955.497\t301.18\t6.8382\n', '8955.989\t301.18\t6.8407\n', '8956.990\t301.16\t6.8469\n']
我以前试过这个,但它:
def import_absorptionscan(file_path,start,end):
for i in range(start,end):
lines=[]
f=open(file_path+str(i)+'.dat', 'r')
for line in f:
lines.append(line)
for line in lines:
for c in line:
if c.isalpha():
lines.remove(line)
print lines
但我得到一个错误:ValueError:列表.删除(x) :x不在列表中
我开始研究堆栈溢出,但大部分是如何从字符串中提取字母字符,所以我提出了这个问题。你知道吗
这将生成一个字符串列表,每个字符串组成文件中的一行。我想删除任何字符串,其中包含任何字母字符,因为这应该删除所有的元数据,只留下数据。任何帮助都将不胜感激谢谢。你知道吗
此外,还可以使用
any
语句检查字母。在内部for
循环中添加:请注意,这将说明“ver9”都是数字,因此如果这是一个问题,请将其替换为:
我怀疑您需要一个比“字符串是否包含字母”更健壮的规则,但可以使用正则表达式检查:
您可能想看看regular expression docs。你知道吗
相关问题 更多 >
编程相关推荐