Feb-15-2019, 04:35 PM
Here, my code feats value form text file; and create matrices as multidimensional array, but the problem is the code create more then two dimensional array, that I can't manipulate, I need two dimensional array, how I do that?
Explain algorithm of my code:
**Moto of code:**
My code fetch value from a specific folder, each folder contain 7 'txt' file, that generate from one user, in this way multiple folder contain multiple data of multiple user.
step1: Start a 1st for loop, and control it using how many folder have in specific folder,and in variable 'path' store the first path of first folder.
step2: Open the path and fetch data of 7 txt file using 2nd for loop.after feats, it close 2nd for loop and execute the rest code.
step3: Concat the data of 7 txt file in one 1d array.
step4(Here the problem arise): Store the 1d arry of each folder as 2d array.end first for loop.
Code:
[
array([[0,0,0],[0,0,0]]),
array([0,0,0])
]
Note: I don't know how many dimension it have
But I want
[
array(
[0,0,0]
[0,0,0]
[0,0,0])
]
Explain algorithm of my code:
**Moto of code:**
My code fetch value from a specific folder, each folder contain 7 'txt' file, that generate from one user, in this way multiple folder contain multiple data of multiple user.
step1: Start a 1st for loop, and control it using how many folder have in specific folder,and in variable 'path' store the first path of first folder.
step2: Open the path and fetch data of 7 txt file using 2nd for loop.after feats, it close 2nd for loop and execute the rest code.
step3: Concat the data of 7 txt file in one 1d array.
step4(Here the problem arise): Store the 1d arry of each folder as 2d array.end first for loop.
Code:
import numpy as np from array import * import os f_path='Result' array_control_var=0 #for feacth directory path for (path,dirs,file) in os.walk(f_path): if(path==f_path): continue f_path_1= path +'\page_1.txt' #Get data from page1 indivisualy beacuse there string type data exiest pgno_1 = np.array(np.loadtxt(f_path_1, dtype='U', delimiter=',')) #only for page_2.txt f_path_2= path +'\page_2.txt' with open(f_path_2) as f: str_arr = ','.join([l.strip() for l in f]) pgno_2 = np.asarray(str_arr.split(','), dtype=int) #using loop feach data from those text file.datda type = int for j in range(3,8): #store file path using variable txt_file_path=path+'\page_'+str(j)+'.txt' if os.path.exists(txt_file_path)==True: #genarate a variable name that auto incriment with for loop foo='pgno_'+str(j) else: break #pass the variable name as string and store value exec(foo + " = np.array(np.loadtxt(txt_file_path, dtype='i', delimiter=','))") #z=np.array([pgno_2,pgno_3,pgno_4,pgno_5,pgno_6,pgno_7]) #marge all array from page 2 to rest in single array in one dimensation f_array=np.concatenate((pgno_2,pgno_3,pgno_4,pgno_5,pgno_6,pgno_7), axis=0) #for first time of the loop assing this value if array_control_var==0: main_f_array=f_array else: #here the problem arise main_f_array=np.array([main_f_array,f_array]) array_control_var+=1 print(main_f_array)current my code generate array like this(for 3 fo>>lder)
[
array([[0,0,0],[0,0,0]]),
array([0,0,0])
]
Note: I don't know how many dimension it have
But I want
[
array(
[0,0,0]
[0,0,0]
[0,0,0])
]