我使用python 3,并且我读取了以几行包含文本和数字的行开始的文件,并且从某一行开始它只是数字列,最初它们在拆分后也被读取为str,后来我将它们转换为浮点数.
数据看起来像这样。我还添加了数字样本的链接
https://gist.github.com/Farzadtb/b0457223a26704093524e55d9b46b1a8
所以问题是,对于阅读,我有两个条件(实际上我希望增加这些条件)使用 try: except 。但这仅适用于划分拆分方法。但在我开始拆分之前,我需要删除包含文本的第一行。我知道我应该使用
除了值错误
但这真的行不通!
f = io.open(file, mode="r", encoding="utf-8")
#f=open(file,"r")
lines=f.readlines()
x=[]
y=[]
z=[]
for i in lines:
try:
a=[i.strip('\n')]
a1=[float(n) for n in a[0].split(',')]
atot.append(a1)
x.append(a1[3])
y.append(a1[2])
z.append(a1[1])
except :
a=[i.split('\n')]
a1=[float(n) for n in a[0].split()]
x.append(a1[3])
y.append(a1[2])
z.append(a1[1])
问题是,由于第一行也可以以数字开头,因此第一个参数可能会被拆分并添加到“x”和“y”中,但是我得到了 z 的错误
x=[float(i) for i in x]
y=[float(i) for i in y]
z=[float(i) for i in z]
我想到的一个想法是检查该行是否可以无错误地转换为浮动,然后继续拆分,但我不知道该怎么做
跃然一笑
相关分类