我需要使用numpy在python中的2d数组中逐行添加
。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
首先,我读取一个文件并从该文件中获取行。然后,我使用行数和列数(由于末尾的'\ n'而为-1)来创建2d数组。然后我想将它们附加到数组中,但看起来确实很奇怪:
['0' '0' '0' ...
'* * * ******* *** * * * * *** ******* * * ***** *** * ***** *** *\n'
'* * * * * * * * * B*\n'
'*****************************************************************\n']
['0' '0' '0' ...
'* * * ******* *** * * * * *** ******* * * ***** *** * ***** *** *\n'
'* * * * * * * * * B*\n'
'*****************************************************************\n']
我在做什么错?错误在哪里?
预期的输出是2d数组(17,65)。 就像是: [[0,0,0,0,0 ... 0,0],[0,0,0,0 ...,0,0] ...] 等
我想从该文件生成一个数组:
*****************************************************************
*A * * * * * *
*** * ***** * ******* *** *** * *************** * *********** * *
* * * * * * * * * * * * * * *
* ******* * ******* ******* * * * ***** * * ******* * ***** *** *
* * * * * * * * * * * * * * * * *
* ***** * *** *********** * * * *** * * * * * *** *** *** ***** *
* * * * * * * * * * * * * * * * *
*** * * *** ***** ******* ******* *** ******* * * *** * * *** ***
* * * * * * * * * * * * * * * * * * *
* ***** ***** * *** * * *** * * * ***** *** * * *** * * *** *** *
* * * * * * * * * * * * * * * * * * *
* * ***** ***** * * * *** * ******* ********* * * * ***** * * * *
* * * * * * * * * * * * * * * * * * * * *
* * * ******* *** * * * * *** ******* * * ***** *** * ***** *** *
* * * * * * * * * B*
*****************************************************************
每行都放在方括号[]中,并在换行之后出现新的方括号。
答案 0 :(得分:1)
如果我说对了,您希望将numpy数组中的所有整数都填充为零。这就是我要做的。
# open and read file
file = open(data, "r")
lines = file.readlines()
file.close()
# row and col count
rows = len(lines)
cols = len(lines[0]) - 1
maze = np.zeros((rows, cols),dtype=str)
for index,line in enumerate(lines):
for i in range(0,len(line)-1):
maze[index][i]= line[i]
return maze
这将产生以下输出:
[['*' '*' '*' ... '*' '*' '*']
['*' 'A' ' ' ... ' ' ' ' '*']
['*' '*' '*' ... '*' ' ' '*']
...
['*' ' ' '*' ... '*' ' ' '*']
['*' ' ' '*' ... ' ' 'B' '*']
['*' '*' '*' ... '*' '*' '']]