Чтение десятичных дробей из текстового файла в одномерный массив

Чтение десятичных дробей из текстового файла в одномерный массив

Итак, у меня есть текстовый файл с именем sortedtime.txt, содержащий отсортированные десятичные и целые числа, перечисленные построчно:

  12.6
  13.7
  ...
  154
  1864

Мне нужен скрипт оболочки, который будет считывать эти числа и добавлять их в одномерный массив построчно. Код, который у меня есть для этого, приведен ниже:

 with open('sortedtime.txt') as data:
      timearray = data.readlines()

К сожалению, я постоянно получаю ошибку при попытке выполнить код. Мне нужно иметь эти числа как элементы в массиве, чтобы позже построить cdf данных.

решение1

Предполагая, что вы имеете в видумассив оболочек, обратите внимание, что не все оболочки поддерживают массивы. Если ограничиться оболочками типа Bourne, то те, которые поддерживают массивы (в хронологическом порядке), это ksh, bash, zshи yash. python(код, который вы привели, выглядит как pythonкод) — это не то, что мы обычно называем оболочкой.

Из них единственными оболочками, которые поддерживают арифметику с плавающей точкой, являются ksh93, zshи yash.

Во всех трех случаях, и предполагая, что входные данные содержат только числа с плавающей точкой, разделенные символом новой строки, пробелом или табуляцией, вы можете сделать следующее:

array=($(cat file))

Однако синтаксис доступа к элементам массива во всех трех вариантах различен. См. "Тест на поддержку массива оболочкой" для различий в поддержке массивов в различных оболочках.

Связанный контент