I am afraid, the Wavefront obj model format does not work like this.
The vertex attributes, like 'v', 'vn' and 'vt' are not in the order in which you need to render them with OpenGL, but they instead are just enumerated to exist.
The faces 'f' then indexes (with 1-based index!) into this 'v' and 'vn' and 'vt' list.
Also take special notice that those face indices can also be negative, in which case -1 means the last specified vertex before encountering the 'f' element.
What you also need to take into account is that faces need not be triangles, but arbitrary polygons. So, when loading an obj model, you should first check, whether it has properly been triangulated.
If you consider using an index buffer, also have in mind that the 'f' element allows all three vertex attributes to be indexed in any arbitrary order, which would forbid to use an OpenGL index buffer straight away from the data. You must reindex the data to do that, instead.