title: How do I load both Strings and floats into a numpy array?
body: <p>I need to somehow make numpy load in both text and numbers.</p>
  
  <p>I am getting this error:</p>
  
  <pre><code>Traceback (most recent call last):
    File "ip00ktest.py", line 13, in &lt;module&gt;
      File = np.loadtxt(str(z[1]))        #load spectrum file 
    File "/usr/lib64/python2.6/site-packages/numpy/lib/npyio.py", line 805, in loadtxt
      items = [conv(val) for (conv, val) in zip(converters, vals)]
  ValueError: invalid literal for float(): EFF
  </code></pre>
  
  <p>because my file I'm loading in has text in it. I need each word to be stored in an array index as well as the data below it. How do I do that?</p>
  
  <p>Edit: Sorry for not giving an example. Here is what my file looks like.</p>
  
  <pre><code>FF   3500.  GRAVITY 0.00000  SDSC GRID  [+0.0]   VTURB 2.0 KM/S    L/H 1.25                            
    wl(nm)    Inu(ergs/cm**2/s/hz/ster) for 17 mu in 1221 frequency intervals
              1.000   .900  .800  .700  .600  .500  .400  .300  .250  .200  .150  .125  .100  .075  .050  .025  .010
      9.09 0.000E+00     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
      9.35 0.000E+00     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
      9.61 0.000E+00     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
      9.77 0.000E+00     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
      9.96 0.000E+00     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
  </code></pre>
  
  <p>There are thousands of numbers below the ones shown here. Also, there are different datasets within the file such that the header you see on top repeats, followed by a new set of new numbers. </p>
  
  <p>Code that Fails:</p>
  
  <pre><code>import sys
  import numpy as np
  from math import *
  
  print 'Number of arguments:', len(sys.argv), 'arguments.'
  print 'Argument List:', str(sys.argv)
  
  z = np.array(sys.argv)          #store all of the file names into array
  
  i = len(sys.argv)           #the length of the filenames array
  
  File = np.loadtxt(str(z[1]))        #load spectrum file 
  </code></pre>