Я все еще новичок в Python. Я читаю текстовый файл с разделителями табуляции, сгенерированный из программного обеспечения, чтобы отфильтровать набор значений. Но генерируемые значения все в формате, подобном формату с плавающей запятой IEEE. (например: 1.5656565656E + 02).отображение значений строк в зависимости от значений столбцов в python
Моя табуляцией файл что-то вроде этого (на самом деле это 250 столбцов. Примерно это так)
Time [s] Offset_Angle observability_Analysis
0.00E+00 0.89040261167028E+00 0.00000000000000E+00
4.32E+02 0.21319658757004E+00 0.00000000000000E+00
8.64E+02 0.26803683992125E+00 0.00000000000000E+00
1.30E+03 2.67379011780784E+02 1.00000000000000E+00
1.73E+03 2.89704767087971E+02 1.00000000000000E+00
2.16E+03 2.93302157473406E+02 1.00000000000000E+00
Th Цель состоит в том, чтобы отфильтровать те Offset_Angle значения, которые имеют свои observability_Analysis как 1.0000000000000E + 00 Но на данный момент я пытаюсь напечатать номер строки, который имеет наблюдаемость_Анализ как 1.0000000000000E + 00.
Код я пытался, как это
with open('E:\\trialpy\\textfile.txt') as f:
reader = csv.reader(f, delimiter="\t")
d = list(reader)
for ind in range(len(d)):
if d[ind][2] == "1.00000000000000E+00":
print ind
Первый набор кода работает правильно. Отпечаток ind просто пуст. Он не дает никаких значений. Пожалуйста, помогите мне с этим. И извините, если вопрос очень глупый. Застрял в этом месте на какое-то время. Есть ли способ решить эту проблему или мне нужно перейти на Pandas
Спасибо.
Этот код прекрасно работает на моей машине (Я получаю вывод '4 \ n5 \ n6 \ n'). Может быть, вы перепутали индексный столбец в файле с 250 столбцами? Попробуйте 'print' значение' d [ind] [2] 'перед' if' и проверьте, что на самом деле существует. –
Если я попытаюсь распечатать значения перед оператором if, он печатает значения, как в файле. Не знаете, где проблема –
Вы имеете в виду, что печатает все значения правильного столбца? Или он печатает больше, чем это? –