嗨,我有两个文本文件,每个文件都包含有关某些结构的不同信息。两个文件中的结构都由一个 ID 号标识。我想做的是在第一个文件中读取并跳过不满足条件的数据行。然后在第二个文件中跳过没有相同 ID 号的行并处理其他行。我尝试使用嵌套的 for 循环来做到这一点,我也尝试将它作为两个单独的函数,但都没有成功。我现在正在尝试使用如下循环来完成它,但是会出现此错误
UnboundLocalError: local variable 'linel' referenced before assignment
这是代码。一世
F = 'file1.txt'
Fl = 'file2.txt'
X = [] # Creats Data Lists
M = []
Id1 = []
Id2 = []
LC = 10
N = 11
fl = open(Fl)
fl.readline()
nlinesl = islice(fl,N)
f = open(F) #Opens file
f.readline() # Strips Header
nlines = islice(f, N) #slices file to only read N lines
for line in nlines and linel in nlinesl:
if line !='':
linel = linel.strip()
linel = linel.replace('\t','')
columnsl = linel.split()
lum = float(columnsl[1])
if lum != LC:
continue
id1 = int(columnsl[0])
Id1.append(id1)
if line !='':
line = line.strip()
line = line.replace('\t','')
columns = line.split()
id2 = int(columns[1])
Id2.append(id2)
if Id != Id2:
continue
x = columns[2] # assigns variable to columns
X.append(x)
print(X)
这是我想要发生的一个例子两个文件
file1= 1 1 1 1 file2 = 1 1 1 1
2 5 1 1 1 2 1 1
2 3 4 4 1 1 1 1
Lc = 5
Xa = 1
所以只有 file1 的第二行会存活,这意味着只有 file2 的第二行会被处理,因为它们具有相同的 id。在我的文件中,ID 是
id = columns[0] for file1
和
id = columns[1] for file2
提前致谢