# Loading Arrays From Files Scientific computing and data analysis require the critical feature of being able to load data from different file formats. NumPy has several functionalities for reading data from various file types and converting them into arrays. This part of the content will show how one can load arrays from standard file formats. ## Here are the methods available: ### 1. numpy.loadtxt(): The `loadtxt` function allows you to load data from a text file.You can specify various parameters such as the file name, data type, delimiter, and more. It reads the file line by line, splits it at the specified delimiter, and converts the values into an array. - #### Syntax: ```python numpy.loadtxt(fname, dtype = float, delimiter=None, converters=None, skiprows=0, usecols=None) ``` **fname** : Name of the file
**dtype** : Data type of the resulting array. (By default is float)
**delimiter**: String or character separating columns; default is any whitespace.
**converters**: Dictionary mapping column number to a function to convert that column's string to a float.
**skiprows**: Number of lines to skip at the beginning of the file.
**usecols**: Which columns to read starting from 0. - #### Example for `loadtxt`: **example.txt**
![image](https://github.com/Santhosh-Siddhardha/learn-python/assets/103999924/a0148d29-5fba-45fa-b3f4-058406b3016b) **Code**
```python import numpy as np arr = np.loadtxt("loadtxt.txt", dtype=int) print(arr) ``` **Output**
```python [1 2 3 4 5] ```
### 2. numpy.genfromtxt: The `genfromtxt` function is similar to loadtxt but provides more flexibility. It handles missing values (such as NaNs), allows custom converters for data parsing, and can handle different data types within the same file. It’s particularly useful for handling complex data formats. - #### Syntax: ```python numpy.genfromtxt(fname, dtype=float, delimiter=None, skip_header=0, skip_footer=0, converters=None, missing_values=None, filling_values=None, usecols=None) ``` **fname** : Name of the file
**dtype** : Data type of the resulting array. (By default is float)
**delimiter**: String or character separating columns; default is any whitespace.
**skip_header**: Number of lines to skip at the beginning of the file.
**skip_footer**: Number of lines to skip at the end of the file.
**converters**: Dictionary mapping column number to a function to convert that column's string to a float.
**missing_values**: Set of strings corresponding to missing data.
**filling_values**: Value used to fill in missing data. Default is NaN.
**usecols**: Which columns to read starting from 0. - #### Example for `genfromtxt`: **example.txt**
![image](https://github.com/Santhosh-Siddhardha/learn-python/assets/103999924/3f9cdd91-4255-4e30-923d-f29c5f237798) **Code**
```python import numpy as np arr = np.genfromtxt("example.txt", dtype='str', usecols=1) print(arr) ``` **Output**
```python ['Name' 'Kohli' 'Dhoni' 'Rohit'] ```
### 3. numpy.load `load` method is used to load arrays saved in NumPy’s native binary format (.npy or .npz). These files preserve the array structure, data types, and metadata. It’s an efficient way to store and load large arrays. - #### Syntax: ```python numpy.load(fname, mmap_mode=None, encoding='ASCII') ``` **fname** : Name of the file
**mmap_mode** : Memory-map the file using the given mode (r, r+, w+, c).(By Default None)
**encoding**:Encoding is used when reading Python2 strings only. (By Default ASCII)
- #### Example for `load`: **Code**
```python import numpy as np arr = np.array(['a','b','c']) np.savez('data.npz', array=arr) # stores arr in data.npz in NumPy's native binary format data = np.load('data.npz') print(data['array']) ``` **Output**
```python ['a' 'b' 'c'] ```
These methods empower users to seamlessly integrate data into their scientific workflows, whether from text files or binary formats.