我使用Python3,我读取的文件中有几行包含文本和数字,从某一行开始只有数字列,最初它们在拆分后也被读取为str,后来我将它们转换为float。你知道吗
数据是这样的。我还添加了数字示例的链接
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]
我想到的一个想法是,检查是否可以将行转换为无错误的float,然后继续拆分,但我不知道怎么做
你应该试试这个。这段代码使用regexp以干净的方式查找数据。你知道吗
测试你的样本数据。 这是python脚本的标准输出:
相关问题 更多 >
编程相关推荐