gsamaras
gsamaras

Reputation: 73444

Parsing multiple values from a file in Python

The file is like this:

1 118 1
1 285 3
...
39861 27196 5

So, I would like to parse the file by storing the numbers in variables, since I know apriori that every line contains three integers*, how should I do it?


Here is my attempt:

f = open(fname, 'r')
no_of_headers = 3
for i, line in enumerate(f, no_of_headers):
  print line

Here instead of reading into line, it should be modified to read to a, b and c, since we know that every line has three numbers!


*Like sstream in

Upvotes: 0

Views: 392

Answers (1)

Akshat Mahajan
Akshat Mahajan

Reputation: 9856

Just use Python's (limited) pattern recognition syntax:

for i, line in enumerate(f, no_of_headers):
    a,b,c = line.strip().split() # splits the line by whitespace

This assigns each element of the split line to a, b, c respectively. Since each line contains exactly three elements, a is mapped to the first element, b to the second, and c to the third.

Upvotes: 1

Related Questions