Код: Выделить всё
timestep = np.array([])
time = np.array([])
with open('time-series.dat') as f:
for line in f:
ele = line.rstrip("\n").split()
timestep = np.append(timestep,float(ele[0]))
time = np.append(time,float(ele[1]))
Теперь мне нужно прочитать более 1 файла и заполнить его в один и тот же массив. В конце концов мне нужен 2D-массив с формой (количество файлов, количество точек данных в каждом файле). Например,
Код: Выделить всё
cases = ['1','2']
timestep = np.array([])
time = np.array([])
for i in range(len(cases)):
with open('time-series'+cases[i]+'.dat') as f:
for line in f:
ele = line.rstrip("\n").split()
???
???
Я пробовал использовать vstack, но изначально не могу использовать его с пустым массивом .
Я пробовал использовать списки, потому что функцию list.append можно использовать для добавления новой строки, и это сработало.
Код: Выделить всё
cases = ['1','2']
timestep = np.array([])
time = np.array([])
for i in range(len(cases)):
if i>0:
timestep=timestep.tolist()
time = time.tolist()
arr1 = []
arr2 = []
with open('time-series'+cases[i]+'.dat') as f:
for line in f:
ele = line.rstrip("\n").split()
arr1.append(ele[0])
arr2.append(ele[1])
timestep.append(arr1)
time.append(arr2)
timestep = np.array(timestep)
time = np.array(time)
**#I am converting to numpy array here because I need arrays to perform further calculations with timestep and time before I move on to the next iteration of loop i.**
Кто-нибудь знает, как я могу добиться чтения нескольких файлов и создания из них 2D-массивов? Я, конечно, могу зайти в файл и посмотреть, сколько там точек данных, чтобы создать массив известного размера. Но в этом случае каждый раз, когда я запускаю скрипт, мне придется менять размер, чего я хочу избежать.
Пожалуйста, будьте вежливы. Если что-то не понятно, могу объяснить подробнее. Спасибо.
Подробнее здесь: https://stackoverflow.com/questions/790 ... onal-array