PYTHON中如何将固定格式的文本文件转换成二维数组

2025-03-07 04:14:07
推荐回答(3个)
回答1:

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

回答2:

  1. 既然是固定格式的那么,我们可以按照固定的长度取字符串;

  2. 将取出的字符串按照自己设定的数据结构存入到数组之中;

  3. 在Python中是没有数组这一说的,你可以使用list嵌套即可;

  4. 还有另外一种形式就是使用第三方库,例如numpy。

回答3:

假设有个文件,形式如下:
  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)