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.
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.
# 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.
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.
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])
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)
# 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