Question: I try to put this HTML into my page content using dashboard:

```
<div>
     <p class="text-center">
         <a class="btn btn-large btn-light" title="Kontakt" href="/?page_id=20">Kontakt <i class="fa fa-phone"></i></a>

         <a class="btn btn-large btn-light" title="Standorte &amp; Informationen" href="/?page_id=20">Standorte &amp;
             Informationen <i class="fa fa-globe"></i></a>
     </p>
</div>

```

But here is the HTMl what I getting on page:

```
<div>
    <p class="text-center">
        <a class="btn btn-large btn-light" title="Kontakt" href="/?page_id=20">Kontakt <i class="fa fa-phone"></i></a>
    </p>
    <p>
        <a class="btn btn-large btn-light" title="Standorte &amp; Informationen" href="/?page_id=20">Standorte &amp;<br />
        Informationen <i class="fa fa-globe"></i></a>
    </p>
</div>

```

See the difference? So why it genereates two `<p>`, and first has the class what I assing? Maybe it my mistake and I didnt get something with WordPress?

Answer: 
You could make use of the [`numpy.genfromtxt()`](http://docs.scipy.org/doc/numpy/reference/generated/numpy.genfromtxt.html#numpy-genfromtxt) function, if you specify the number of columns:

```
import numpy as np

a = np.genfromtxt('bigfile.csv',dtype=str,usecols=(0)) 
b = np.genfromtxt('bigfile.csv',dtype=float,delimiter='\t',usecols=range(1,4)) 
                                                                             #^enter # of cols here

d = dict(zip(a,b.tolist()))    #if you want a numpy array, just remove .tolist()

print d

```

**Output:**

```
{'abc': [-0.123, 0.6524, 0.325], 'bar': [0.23123, -0.123124, -0.1232], 'foo': [-0.9808, 0.874, -0.2341]}

```

---

*Note: To programatically find the number of `cols` you could do:*

```
with open('bigfile.csv', 'r') as f:
    num_cols = len(f.readline().split())

```

*And then use `num_cols` for the `usecols` parameter.*
Sorry this is not really an answer but too long for a comment.

You say you have 1 billion lines with 200 columns of float. It means a minimal memory of 

> 
> 109 \* 200 \* 8 = 1.6 1012 bytes
> 
> 
> 

It gives more than 1.5 G not counting the overhead for the dict.

Of course, you can try to use `numpy` arrays instead of lists of floats, but each array is small (200 elements), so I highly doubt that the gain will be important.

IMHO, for so many data, you should not considere the load phase independently of how you will process the data and if you **really** need a dictionnary of one billion records of 200 float values each, you current implementation is correct as is a numpy array one.

You could get an important gain in further processing if you could have all the data in a single numpy array, and did use numpy for the processing part, but without knowing more of it it is just speculation.