在python中将字符串值拆分为整数

muh*_*şan 1 python split multidimensional-array

我在这里有一些不同的号码.它每次都在变化.我需要创建一个多维数组,如
array[x][y]=> x应该通过拆分包含值,,并且y应该包含' '空.
我怎样才能做到这一点 ?谢谢.

dat.xyz
2,3,4,5,6,7,8,9 2,3,4,5,6,7,8,9 2,3,4,5,6,7,8,9 2,3,4,5,6,7,8,9

output = open('dat.xyz', 'r') # See the r
output_list = output.read().strip().split(',')
Run Code Online (Sandbox Code Playgroud)

我之前可以找到数字,,但它只显示一行.但是,我想做那个多维的.它应该拆分维度以查看空白' '.谢谢.

输出应该遵循

[[2, 3, 4, 5, 6, 7, 8, 9], 
[2, 3, 4, 5, 6, 7, 8, 9], 
[2, 3, 4, 5, 6, 7, 8, 9], 
[2, 3, 4, 5, 6, 7, 8, 9]]
Run Code Online (Sandbox Code Playgroud)

Eri*_*nil 6

您应该首先围绕空格分割以获取行,然后迭代这些行以获取单元格:

>>> rows = "2,3,4,5,6,7,8,9 2,3,4,5,6,7,8,9 2,3,4,5,6,7,8,9 2,3,4,5,6,7,8,9".split(' ')
>>> rows
['2,3,4,5,6,7,8,9', '2,3,4,5,6,7,8,9', '2,3,4,5,6,7,8,9', '2,3,4,5,6,7,8,9']
>>> [row.split(',') for row in rows]
[['2', '3', '4', '5', '6', '7', '8', '9'], ['2', '3', '4', '5', '6', '7', '8', '9'], ['2', '3', '4', '5', '6', '7', '8', '9'], ['2', '3', '4', '5', '6', '7', '8', '9']]
Run Code Online (Sandbox Code Playgroud)

您还可以将这些单元格转换为整数:

>>> [[int(cell) for cell in row.split(',')] for row in rows]
[[2, 3, 4, 5, 6, 7, 8, 9], [2, 3, 4, 5, 6, 7, 8, 9], [2, 3, 4, 5, 6, 7, 8, 9], [2, 3, 4, 5, 6, 7, 8, 9]]
Run Code Online (Sandbox Code Playgroud)

或者让numpy你为你做转换:

>>> import numpy as np
>>> np.array([row.split(',') for row in rows], np.int)
array([[2, 3, 4, 5, 6, 7, 8, 9],
       [2, 3, 4, 5, 6, 7, 8, 9],
       [2, 3, 4, 5, 6, 7, 8, 9],
       [2, 3, 4, 5, 6, 7, 8, 9]])
Run Code Online (Sandbox Code Playgroud)