# 05. Excel

## **Excel**

***

`UnstructuredExcelLoader` digunakan untuk memuat file `Microsoft Excel`.

Pemuat ini bekerja dengan file `.xlsx` dan `.xls`. Konten halaman akan berupa teks mentah dari file Excel.

Saat menggunakan pemuat dalam mode `"elemen"`, representasi HTML dari file Excel disediakan di bawah kunci `text_as_html` dalam metadata dokumen.

```python
# install
# !pip install -qU langchain-community unstructured openpyxl
```

```python
from langchain_community.document_loaders import UnstructuredExcelLoader

# Membuat UnstructuredExcelLoader
loader = UnstructuredExcelLoader("./data/titanic.xlsx", mode="elements")

# Memuat dokumen
docs = loader.load()

# Panjang dokumen keluaran
print(len(docs))
```

Pastikan bahwa data tersebut dimuat sebagai satu dokumen.

`page_content` menyimpan data untuk setiap baris, dan `text_as_html` dalam `metadata` menyimpan data untuk setiap baris dalam format HTML.

```python
# Output dokumen
print(docs[0].page_content[:200])
```

```python
# mencetak text_as_html dari metadata
print(docs[0].metadata["text_as_html"][:1000])
```

## **DataFrameLoader**

***

* Membuat dan memuat file Excel sebagai DataFrame menggunakan fungsi `read_excel()`, yang memuat file seperti file CSV.

```python
import panda as pd

# membaca file Excel
df = pd.read_excel("./data/titanic.xlsx")
```

```python
from langchain_community.document_loaders import DataFrameLoader

# Menyiapkan pemuat bingkai data, menentukan kolom konten halaman
loader = DataFrameLoader(df, page_content_column="Name")

# Memuat dokumen
docs = loader.load()

# Output data
print(docs[0].page_content)

# keluarkan metadata
print(docs[0].metadata)
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://altero.gitbook.io/langchain-book-by-altero/ch06-document-loader/05.-excel.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
