Python 将字符串重新排列为2D数组

Python 将字符串重新排列为2D数组,python,arrays,Python,Arrays,使用urllib后,我有以下字符串: 459,2277,617459268\n14619,99,19600737\n11297,99,18666551\n16603,99,19761406\n12660,99,28741324\n4543 使用“替换和拆分”后: data = data.replace('\\n', ',').split(',') ['459', '2277', '617459268', '14619', '99', '19600737', '11297', '99', '1

使用urllib后,我有以下字符串:

459,2277,617459268\n14619,99,19600737\n11297,99,18666551\n16603,99,19761406\n12660,99,28741324\n4543
使用“替换和拆分”后:

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...
有没有办法不使用
numpy
就将这个一维数组分解成二维数组

当我说2D数组时,我指的是列列表,当每行是1x3列表时

简单的方法将受到赞赏

谢谢。

不要将“行分隔符”替换为“列分隔符”。而是在行分隔符上拆分字符串。然后拆分列分隔符上的每一行

如果您的输入有新行字符:

rows = data.split()
如果您的输入有一个文字反斜杠,后跟字母
n
,而不是换行符:

rows = data.split('\\n')
无论哪种方式,现在都可以使用逗号拆分每一行:

matrix = [row.split(',') for row in rows]

将此str保存为类似于s的字符串,然后:

s='''459,2277,617459268\n14619,99,19600737\n11297,99,18666551\n16603,99,19761406\n12660,99,28741324\n4543'''

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

然后我会得到这样的结果:[[[459]、[2277]、[617459268\\n14619]、[99]、[19600737\\n11297]、[99]、[18666551\\n16603]、[99]、[19761406\\n12660]、[99]、[28741324\\n4543]、[99]、[29451763\\n445]、[Ben]您的输入来自何处?它是否有新行字符或后跟一个反斜杠?如果
\n
不是换行符-
[x.split](“,”)表示数据中的x。替换(“\n”,“\n”).split()]
我曾经需要将其更改为:data=[x.split(“,”)表示数据中的x。替换(“\\n”,“\n”).split()]。谢谢