Skip to main content
 首页 » 编程设计

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

2025年05月04日22lyhabc

我这里有一些不同的号码。它每次都在变化。我需要创建一个像
这样的多维数组 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(',') 

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

输出应该如下

[[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]] 

请您参考如下方法:

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

>>> 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']] 

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

>>> [[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]] 

或者让 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]])