我使用urllib后有以下字符串:
459,2277,617459268n14619,99,19600737n11297,99,18666551n16603,99,19761406n12660,99,28741324n4543
使用替换和拆分后:
data = data.replace('\n', ',').split(',')
['459', '2277', '617459268', '14619', '99', '19600737', '11297', '99', '18666551', '16603', '99', '19761406', '12660', '99', '28741324', '4543']
但是,我想获得以下2D数组:
459 2277 617459268
14619 99 19600737
11297 99 18666551...
有没有办法将此1D数组分解为2D数组,而无需使用numpy
?
当我说2D数组时,是指每行是1x3列表时的列列表。
简单的方法将不胜感激。
谢谢。
不要将您的"行定界符"替换为"列定界符"。相反,为了在行定界线上拆分字符串。然后在列定界符上拆分每一行。
如果您的输入具有新的线字符:
rows = data.split()
如果您的输入具有字面的后斜线,则是字母n
,而不是newline字符:
rows = data.split('\n')
无论哪种方式,现在您都可以在逗号上拆分每一行:
matrix = [row.split(',') for row in rows]
将此str保存到字符串,如s:
s='''459,2277,617459268n14619,99,19600737n11297,99,18666551n16603,99,19761406n12660,99,28741324n4543'''
for i in s.split('n'):
print (i)
459,2277,617459268
14619,99,19600737
11297,99,18666551
16603,99,19761406
12660,99,28741324
4543
或者如果您想打印而没有,
:
for i in s.replace(',' , ' ').split('n'):
print (i)
459 2277 617459268
14619 99 19600737
11297 99 18666551
16603 99 19761406
12660 99 28741324
4543