# Read file/variable

***

## Cấu hình

#### Input type

File:

* Đọc dữ liệu từ một tệp văn bản (.txt, .csv, v.v.).
* Phù hợp khi bạn có danh sách dữ liệu lưu trong file sẵn.

Biến:

* Đọc dữ liệu từ một biến đã có.
* Phù hợp khi dữ liệu đã được tạo từ các node trước đó.

#### **Input đường dẫn file** – nhập đường dẫn đến file cần đọc.

#### **Input chọn biến** – chọn tên biến muốn đọc.

#### **Chế độ đọc**:

* `Line by line`: đọc từng dòng một.
* `Line by line with delimiter`: tách dữ liệu theo ký tự phân cách.
* Tùy chọn thêm:
  * ✅ `Ngẫu nhiên` – chọn ngẫu nhiên 1 dòng.
  * ✅ `Xóa dòng sau khi đọc` – dòng đã đọc sẽ bị xóa khỏi dữ liệu.
* Input phân cách – ví dụ: dấu phẩy `,`, dấu chấm phẩy `;`, tab `\t`, v.v.

#### Biến output&#x20;

Nơi lưu giá trị sau khi đọc.

***

#### Ví dụ

<details>

<summary>Đọc email từ file danh sách và lưu vào biến <code>current_email</code></summary>

Đọc từng dòng email từ file `data.txt`, mỗi lần chạy node sẽ lấy 1 dòng và lưu vào biến `current_email`.

**Cấu hình Node**:

* **Input type**: `File`
* **Đường dẫn file**: `C:\Users\admin\Documents\data.txt` &#x20;

- **Chế độ**: `Line by line`
- **Biến output**: `current_email`&#x20;

<figure><img src="https://879335848-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOThwEIl1FpbgrBGr17vG%2Fuploads%2FIAGzy4L2apgFxyZAMYbL%2Fimage.png?alt=media&#x26;token=774b64b1-06b6-44e1-82fe-b35b548057b7" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary>Đọc một dòng bất kỳ từ biến <code>productList</code>, tách theo dấu <code>,</code> và lưu vào nhiều biến</summary>

**Cấu hình Node**:

* **Input type**: `Variable`
* **Chọn biến**: `productList`
* **Chế độ**: `Line by line with delimiter`
  * ✅ `Ngẫu nhiên`
  * ✅ `Xóa dòng sau khi đọc`
  * **Ký tự phân cách**: `,`
* **Biến output**: `selected_product` , `selected_product2` , `selected_product3`&#x20;

<figure><img src="https://879335848-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOThwEIl1FpbgrBGr17vG%2Fuploads%2F93p5lCnxC3GCIPdt4pS1%2Fimage.png?alt=media&#x26;token=b2a3e26f-7b26-4c44-9e65-749e68607447" alt=""><figcaption></figcaption></figure>

<figure><img src="https://879335848-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOThwEIl1FpbgrBGr17vG%2Fuploads%2FbLtA0DLHTltzs7KSkEBE%2Fimage.png?alt=media&#x26;token=7ca0c449-ed54-4f75-8a1f-7f7ee55a5ab2" alt=""><figcaption></figcaption></figure>

<figure><img src="https://879335848-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOThwEIl1FpbgrBGr17vG%2Fuploads%2F2uRi8aEEzzLnbUnxX5TF%2Fimage.png?alt=media&#x26;token=dd666669-254e-4aac-9daa-7764329f0d90" alt=""><figcaption></figcaption></figure>

</details>
