Problem to read from array

BartC bc at freeuk.com
Sat Nov 21 10:26:34 EST 2015


On 21/11/2015 10:41, vostrushka at gmail.com wrote:
> Hi,
> I have a file with one parameter per line:
> a1
> b1
> c1
> a2
> b2
> c2
> a3
> b3
> c3
> ...
> The parameters are lines of characters (not numbers)
>
> I need to load it to 2D array for further manipulations.
> So far I managed to upload this file into 1D array:
>
> ParametersRaw = []
> with open(file1) as fh:
>      ParametersRaw = fh.readlines()
> fh.close()

I tried this code based on yours:

with open("input") as fh:
     lines=fh.readlines()

rows = len(lines)//3

params=[]
index=0

for row in range(rows):
     params.append([lines[index],lines[index+1],lines[index+2]])
     index += 3

for row in range(rows):
     print (row,":",params[row])

For the exact input you gave, it produced this output:

0 : ['a1\n', 'b1\n', 'c1\n']
1 : ['a2\n', 'b2\n', 'c2\n']
2 : ['a3\n', 'b3\n', 'c3\n']

Probably you'd want to get rid of those \n characters. (I don't know how 
off-hand as I'm not often write in Python.)

The last bit could also be written:

for param in params:
     print (params)

but I needed the row index.

-- 
BartC



More information about the Python-list mailing list