Мне нужно добавить строку за строкой в 2d массив в python, используя numpy.
def read_file(file):
# open and read file
file = open(file, "r")
lines = file.readlines()
file.close()
# row and col count
rows = len(lines)
cols = len(lines[0]) - 1
maze = np.zeros((rows, cols), dtype=int)
for line in lines:
maze = np.append(maze, line)
return maze
Сначала я читаю файл и получаю строки из него. Затем я создаю двумерный массив, используя количество строк и столбцов (-1 из-за '\ n' в конце). Затем я хочу добавить их в массив, но это выглядит очень странно:
['0' '0' '0' ...
'* * * ******* *** * * * * *** ******* * * ***** *** * ***** *** *\n'
'* * * * * * * * * B*\n'
'*****************************************************************\n']
['0' '0' '0' ...
'* * * ******* *** * * * * *** ******* * * ***** *** * ***** *** *\n'
'* * * * * * * * * B*\n'
'*****************************************************************\n']
Что я делаю не так? Где ошибка?
Ожидаемый результат - двумерный массив (17,65).
Что-то вроде:
[[0,0,0,0,0 ... 0,0], [0,0,0,0 ..., 0,0] ...]
и т.д.
Я хочу создать массив из этого файла:
*****************************************************************
*A * * * * * *
*** * ***** * ******* *** *** * *************** * *********** * *
* * * * * * * * * * * * * * *
* ******* * ******* ******* * * * ***** * * ******* * ***** *** *
* * * * * * * * * * * * * * * * *
* ***** * *** *********** * * * *** * * * * * *** *** *** ***** *
* * * * * * * * * * * * * * * * *
*** * * *** ***** ******* ******* *** ******* * * *** * * *** ***
* * * * * * * * * * * * * * * * * * *
* ***** ***** * *** * * *** * * * ***** *** * * *** * * *** *** *
* * * * * * * * * * * * * * * * * * *
* * ***** ***** * * * *** * ******* ********* * * * ***** * * * *
* * * * * * * * * * * * * * * * * * * * *
* * * ******* *** * * * * *** ******* * * ***** *** * ***** *** *
* * * * * * * * * B*
*****************************************************************
каждая строка в скобках [] и после новой строки начинается новая скобка.