Eu sou novo na linguagem Python. Eu tentei carregar um arquivo de texto, a colunas duplas e contam para mais de valores-limite para o número de linhas como as seguintes:
Box Type Serial Nb Sensor Type Line Name Point Nb Point Index Segd Code Set Grid Easting Set Grid Northing Surface Elevation Resistance(ohm) Noise (µV) Leakage(Mo) Tilt (%) Latest Update
FDU-428 12263085 1 4619 1169 1 2 566443.8 3456742.2 8.0 132.23 5.78 5.0 -1.33 Sat Dec 15 12:52:17 AST 2018
FDU-428 5848688 1 4589 1170 1 2 565641.6 3455415.0 7.4 133.2 4.99 5.0 -1.29 Sat Dec 15 12:52:17 AST 2018
FDU-428 12318634 1 4619 1168 1 2 566401.8 3456769.2 7.5 132.3 6.26 5.0 -0.33 Sat Dec 15 12:52:17 AST 2018
FDU-428 12280956 1 4589 1164 1 2 565390.0 3455578.5 7.4 133.46 7.85 5.0 -0.96 Sat Dec 15 12:52:17 AST 2018
FDU-428 11271012 1 4607 1180 1 2 566551.1 3455897.5 7.1 132.8 5.81 5.0 -0.36 Sat Dec 15 12:52:17 AST 2018
FDU-428 12245682 1 4661 1337 2 2 574607.9 3453890.8 6.7 133.32 4.14 5.0 -1.19 Sat Dec 15 12:52:17 AST 2018
estes valor para o geofone especificação anormal 10 = Resistência (ohms), 11 = Ruído (mV), 12 = de fuga (Mo), 13 = Inclinação (%), trabalho i qc como para a exploração sísmica
Meu código é como o seguinte:
myfile = open('aaa.txt','r')
myvar=(myfile.read())
rows = (myvar.split('\n'))
for i in range(1,len(rows)):
if float(rows[i].split(' ')[10]) > 140:
print (rows[i].split(' ')[10])
e eu conheci esse erro:
Traceback (most recent call last):
File "D:/Python/python/import_text2.py", line 11, in <module>
if float(rows[i].split(' ')[10]) > 140:
IndexError: list index out of range
Alguém pode me ajudar por favor?
A proposta Python puro
Seu laço for é iteração de letras, eu acho que não é o que você quer.
Você pode tentar isso em vez disso:
text_file = "aaa.txt"
with open(text_file,'r') as f:
data = f.read()
threshold = 140
for row in data.split('\n'):
# by default, the .split() method use the
# white space (any amount) as the separator.
for word in row.split():
try:
if int(word) > threshold:
print("{} is greater than {}".format(word, threshold))
except:
print("Cannot convert word to number.")
pass
Aqui, vamos verificar o valor numérico contra o limiar.
Se você deseja verificar o comprimento da corda em vez disso, você pode modificar o código em seu próprio país, será um bom exercício, mas em sua amostra de dados que você não tem tais casos.