我正在尝试从 Python 中的 txt 文件导入和排列。
该文件是一堆数组或“列表”我不确定术语基本上每个数组都包含15到30左右的不同数量的整数。
我尝试的任何方法都只读取每行,但这对我不起作用,因为一个数组跨越 4 行,我需要读取每个数组作为一个整体。
数据格式如下:
9 10 11 12 13 14 15 16 17 18
19 20 21 22 23 24 89 90 91 92
93 94 95 96 8447 8448 8449 8450 8451 845
8453 8454 8488 8489 8490 164624 164625 164626 164627 164628
164629
13 14 15 16 17 18 19 20 21 22
23 24 25 26 27 28 91 92 93 94
95 96 97 98 8449 8450 8451 8452 8453 8454
8455 8456 8488 8489 8490 8491 164626 164627 164628 164629
164630 164631 164632 164633 164666 164667 164668
17 18 19 20 21 22 23 24 25 26
27 28 29 30 31 32 93 94 95 96
97 98 99 100 8451 8452 8453 8454 8455 8456
8457 8458 8489 8490 8491 8492 164628 164629 164630 164631
164632 164633 164634 164635 164666 164667 164668
21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 95 96 97 98
99 100 101 102 8453 8454 8455 8456 8457 8458
8459 8460 8490 8491 8492 8493 164630 164631 164632 164633
164634 164635 164636 164667 164668 164669 164670
我是生成此文件的人,因此无论如何我都可以对其进行更改,以使其更简单。
我试过了 -
readlines genfromtxt loadtxt
任何我能找到的任何输出,我可以得到每行的工作输出,所以第一个条目是:
9 10 11 12 13 14 15 16 17 18
相对于:
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 89 90 91 92 93 94 95 96 8447 8448 8449 8450 8451 845 8453 8454 8488 8489 8490 164624 164625 164626 164627 164628 164629
这是用于生成输出文件的代码:
for i in c_array:
n_array = []
for j in i:
for k in range(8):
a = []
sorted_c_array = sorted_c_arrays[k]
c_col = sorted_c_array[:,k]
b = (binarySearch(c_col,j,sorted_c_array))
if b == True:
n_array.append(np.array(a))
else:
continue
n_array = np.reshape(n_array,(1,(np.size(n_array))))
n_array = np.unique(n_array)
output.writelines(str(n_array).replace(']',']\n')) code here
使用这个:
c_array = []
a = []
for l in file("C:/Users/09432191/SkyDrive/Masters/python/Finished programs/Pre- Prosessing/current_conectivity2.dat"):
line = l.strip()
if l == "\n" :
c_array.append(a)
a = []
a.append(line)
print c_array[0]
我得到了,我无法弄清楚如何摆脱不需要的字符:
['[ 9 10 11 12 13 14 15 16 17 18', '19 20 21 22 23 24 89 90 91 92', '93 94 95 96 8447 8448 8449 8450 8451 8452', '8453 8454 8488 8489 8490 164624 164625 164626 164627 164628', '164629]']