PYTHON中如何将固定格式的文本文件转换成二维数组
python语言文本文件里有个1111122222333334444455555这样格式的文本如何将其转换成M[0][0]=1M[1][0]=2这种我想到的是:>>>s=...
python 语言 文本文件里有个
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
5 5 5 5 5
这样格式的文本 如何将其转换成M[0][0] =1 M[1][0] =2这种
我想到的是:
>>> s=[]
>>> f = open('c:\\1.txt')
>>> for line in f:
if line[-1]=='\n':
line = line[0:-1]
line = line.replace(' ','')
s.append(line)
>>> print s
但是后面就不知道怎么弄了 展开
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
5 5 5 5 5
这样格式的文本 如何将其转换成M[0][0] =1 M[1][0] =2这种
我想到的是:
>>> s=[]
>>> f = open('c:\\1.txt')
>>> for line in f:
if line[-1]=='\n':
line = line[0:-1]
line = line.replace(' ','')
s.append(line)
>>> print s
但是后面就不知道怎么弄了 展开
3个回答
展开全部
content = '''
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
5 5 5 5 5
'''
array = [map(int,ln.strip().split(' '))
for ln in content.splitlines() if ln.strip()]
import pprint
pprint.pprint(array)
[[1, 1, 1, 1, 1],
[2, 2, 2, 2, 2],
[3, 3, 3, 3, 3],
[4, 4, 4, 4, 4],
[5, 5, 5, 5, 5]]
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
5 5 5 5 5
'''
array = [map(int,ln.strip().split(' '))
for ln in content.splitlines() if ln.strip()]
import pprint
pprint.pprint(array)
[[1, 1, 1, 1, 1],
[2, 2, 2, 2, 2],
[3, 3, 3, 3, 3],
[4, 4, 4, 4, 4],
[5, 5, 5, 5, 5]]
展开全部
既然是固定格式的那么,我们可以按照固定的长度取字符串;
将取出的字符串按照自己设定的数据结构存入到数组之中;
在Python中是没有数组这一说的,你可以使用list嵌套即可;
还有另外一种形式就是使用第三方库,例如numpy。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
假设有个文件,形式如下:
1.1
0.1
0.2
0.3
0.4
2.4
3.3
2.5
1.3
4.5
3.6
8.1
9.8
5.6
3.1
有3组,每组5个数,要求外循环三次,内循环5次,把整个数组存到一个5行3列的2维数组中。
代码如下:
#!/usr/bin/env python
#coding:utf-8
from pprint import pprint
vbuf=open('/tmp/1.txt','r').read().split('\n\n')
result=zip(*[x.strip().split('\n') for x in vbuf])
pprint(result)
1.1
0.1
0.2
0.3
0.4
2.4
3.3
2.5
1.3
4.5
3.6
8.1
9.8
5.6
3.1
有3组,每组5个数,要求外循环三次,内循环5次,把整个数组存到一个5行3列的2维数组中。
代码如下:
#!/usr/bin/env python
#coding:utf-8
from pprint import pprint
vbuf=open('/tmp/1.txt','r').read().split('\n\n')
result=zip(*[x.strip().split('\n') for x in vbuf])
pprint(result)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询