04.CSV

CSV

File Comma-Separated Values (CSV) (opens in a new tab) adalah file teks yang dibatasi di mana nilainya dipisahkan oleh koma. Setiap baris dalam file adalah catatan data.

Setiap catatan terdiri dari satu atau lebih bidang yang dipisahkan oleh koma.

CSVLoader

ℹ️

Pada bagian ini, anda akan memerlukan file berikut: titanic.csv (opens in a new tab)

  • Memuat data CSV, satu baris per dokumen.
Python
from langchain_community.document_loaders.csv_loader import CSVLoader
 
# membuat sebuah pemuat CSV
loader = CSVLoader(file_path = “./data/titanic.csv”)
 
# memuat data
docs = loader.load()
 
print(len(docs))
print(docs[0].metadata)

Menyesuaikan penguraian dan pemuatan CSV

Lihat dokumentasi modul csv (opens in a new tab) untuk informasi lebih lanjut tentang argumen csv yang didukung.

Python
# Informasi Kolom:
# PassengerId,Survived,Pclass,Name,Sex,Age,SibSp,Parch,Ticket,Fare,Cabin,Embarked
 
# Jalur file CSV
loader = CSVLoader(
    file_path="./data/titanic.csv",
    csv_args={
        "delimiter": ",",  # Pemisah
        "quotechar": '"',  # Karakter tanda petik
        "fieldnames": [
            "Passenger ID",
            "Survival (1: Survived, 0: Died)",
            "Passenger Class",
            "Name",
            "Sex",
            "Age",
            "Number of Siblings/Spouses Aboard",
            "Number of Parents/Children Aboard",
            "Ticket Number",
            "Fare",
            "Cabin",
            "Port of Embarkation",
        ],  # Nama bidang
    },
)
 
# Memuat data
docs = loader.load()
 
# mengeluarkan data
print(docs[1].page_content)

Gunakan argumen source_column untuk menentukan sumber dokumen yang dihasilkan di setiap baris; jika tidak, file_path digunakan sebagai sumber untuk semua dokumen.

Ini berguna ketika menggunakan dokumen yang dimuat dari file CSV dalam rantai yang menggunakan sumber untuk menjawab pertanyaan.

Python
loader = CSVLoader(
    file_path="./data/titanic.csv", source_column="PassengerId"
)  # Mengatur pemuat CSV, menentukan jalur file dan kolom sumber
 
docs = loader.load()  # Memuat data
 
print(docs[1])  # Output data

UnstructuredCSVLoader

Anda juga dapat menggunakan UnstructuredCSVLoader untuk memuat tabel. Salah satu keuntungan menggunakan UnstructuredCSVLoader adalah ketika digunakan dalam mode “elemen”, representasi HTML tabel disediakan dalam metadata.

Python
from langchain_community.document_loaders.csv_loader import UnstructuredCSVLoader
 
# Membuat instance pemuat CSV yang tidak terstruktur
loader = UnstructuredCSVLoader(file_path="./data/titanic.csv", mode="elements")
 
# Memuat dokumen
docs = loader.load()
 
# Output metadata teks HTML untuk dokumen pertama
print(docs[0].metadata["text_as_html"][:1000])
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)
 
# Menghasilkan metadata
print(docs[0].metadata)
Python
# pemuatan malas untuk tabel besar, tidak memuat seluruh tabel ke dalam memori
for row in loader.lazy_load():
    print(row)
    break # cetak hanya baris pertama