title: Convert a space delimited file to comma separated values file in python
body: <p>I am very new to Python. I know that this has already been asked, and I apologise,  but the difference in this new situation is that spaces between strings are not equal. I have a file, named <strong>coord</strong>, that contains the following space delimited strings:</p>
  
  <pre><code>   1  C       6.00    0.000000000    1.342650315    0.000000000
     2  C       6.00    0.000000000   -1.342650315    0.000000000
     3  C       6.00    2.325538562    2.685300630    0.000000000
     4  C       6.00    2.325538562   -2.685300630    0.000000000
     5  C       6.00    4.651077125    1.342650315    0.000000000
     6  C       6.00    4.651077125   -1.342650315    0.000000000
     7  C       6.00   -2.325538562    2.685300630    0.000000000
     8  C       6.00   -2.325538562   -2.685300630    0.000000000
     9  C       6.00   -4.651077125    1.342650315    0.000000000
    10  C       6.00   -4.651077125   -1.342650315    0.000000000
    11  H       1.00    2.325538562    4.733763602    0.000000000
    12  H       1.00    2.325538562   -4.733763602    0.000000000
    13  H       1.00   -2.325538562    4.733763602    0.000000000
    14  H       1.00   -2.325538562   -4.733763602    0.000000000
    15  H       1.00    6.425098097    2.366881801    0.000000000
    16  H       1.00    6.425098097   -2.366881801    0.000000000
    17  H       1.00   -6.425098097    2.366881801    0.000000000
    18  H       1.00   -6.425098097   -2.366881801    0.000000000
  </code></pre>
  
  <p>Please, note the spaces before the start of each string in the first column. So I have tried the following in order of converting it to csv:</p>
  
  <pre><code>with open('coord') as infile, open('coordv', 'w') as outfile:
      outfile.write(infile.read().replace("  ", ", "))
  
  # Unneeded columns are deleted from the csv
  
  input = open('coordv', 'rb')
  output = open('coordcsvout', 'wb')
  writer = csv.writer(output)
  for row in csv.reader(input):
      if row:
          writer.writerow(row)
  input.close()
  output.close()
  
  with open("coordcsvout","rb") as source:
      rdr= csv.reader( source )
      with open("coordbarray","wb") as result:
          wtr= csv.writer(result)
          for r in rdr:
              wtr.writerow( (r[5], r[6], r[7]) )
  </code></pre>
  
  <p>When I run the script, I get the following for the <strong>coordv</strong> in the very first part of the script, which is of course very wrong:</p>
  
  <pre><code>,  1, C, , ,  6.00, , 0.000000000, , 1.342650315, , 0.000000000
  ,  2, C, , ,  6.00, , 0.000000000,  -1.342650315, , 0.000000000
  ,  3, C, , ,  6.00, , 2.325538562, , 2.685300630, , 0.000000000
  ,  4, C, , ,  6.00, , 2.325538562,  -2.685300630, , 0.000000000
  ,  5, C, , ,  6.00, , 4.651077125, , 1.342650315, , 0.000000000
  ,  6, C, , ,  6.00, , 4.651077125,  -1.342650315, , 0.000000000
  ,  7, C, , ,  6.00,  -2.325538562, , 2.685300630, , 0.000000000
  ,  8, C, , ,  6.00,  -2.325538562,  -2.685300630, , 0.000000000
  ,  9, C, , ,  6.00,  -4.651077125, , 1.342650315, , 0.000000000
  , 10, C, , ,  6.00,  -4.651077125,  -1.342650315, , 0.000000000
  , 11, H, , ,  1.00, , 2.325538562, , 4.733763602, , 0.000000000
  , 12, H, , ,  1.00, , 2.325538562,  -4.733763602, , 0.000000000
  , 13, H, , ,  1.00,  -2.325538562, , 4.733763602, , 0.000000000
  , 14, H, , ,  1.00,  -2.325538562,  -4.733763602, , 0.000000000
  , 15, H, , ,  1.00, , 6.425098097, , 2.366881801, , 0.000000000
  , 16, H, , ,  1.00, , 6.425098097,  -2.366881801, , 0.000000000
  , 17, H, , ,  1.00,  -6.425098097, , 2.366881801, , 0.000000000
  , 18, H, , ,  1.00,  -6.425098097,  -2.366881801, , 0.000000000
  </code></pre>
  
  <p>I have tried different possibilities in .replace without any success, and so far I haven't found any source of information on how I could do this. What would be the best way to get a comma-separated values from this <strong>coord</strong> file? What I'm interested is in using then the csv module in python to choose columns 4:6 and finally use numpy to import them as follows:</p>
  
  <pre><code>from numpy import genfromtxt
  cocmatrix = genfromtxt('input', delimiter=',')
  </code></pre>
  
  <p>I'd be very glad if somebody could help me with this problem. </p>