Loading CSV and Excel files lets you bring data from spreadsheets into your program easily. This helps you work with real-world data like lists, tables, or reports.
Loading CSV and Excel files in LangChain
from langchain.document_loaders import CSVLoader, ExcelLoader # Load CSV file csv_loader = CSVLoader(file_path="path/to/file.csv") csv_docs = csv_loader.load() # Load Excel file excel_loader = ExcelLoader(file_path="path/to/file.xlsx") excel_docs = excel_loader.load()
Use CSVLoader for CSV files and ExcelLoader for Excel files.
The load() method reads the file and returns documents you can use in LangChain.
customers.csv from the data folder.from langchain.document_loaders import CSVLoader csv_loader = CSVLoader(file_path="data/customers.csv") docs = csv_loader.load()
sales.xlsx from the data folder.from langchain.document_loaders import ExcelLoader excel_loader = ExcelLoader(file_path="data/sales.xlsx") docs = excel_loader.load()
from langchain.document_loaders import ExcelLoader # Load specific sheet by name excel_loader = ExcelLoader(file_path="data/report.xlsx", sheet_name="Summary") docs = excel_loader.load()
This program loads two files: a CSV and an Excel file. It prints how many documents each file contains after loading.
from langchain.document_loaders import CSVLoader, ExcelLoader # Load CSV file csv_loader = CSVLoader(file_path="example_data.csv") csv_docs = csv_loader.load() print(f"Loaded {len(csv_docs)} documents from CSV file.") # Load Excel file excel_loader = ExcelLoader(file_path="example_data.xlsx") excel_docs = excel_loader.load() print(f"Loaded {len(excel_docs)} documents from Excel file.")
Make sure the file paths are correct and files exist to avoid errors.
Excel files can have multiple sheets; you can specify which sheet to load.
The loaded documents are ready to be used in LangChain workflows like text processing or question answering.
Use CSVLoader and ExcelLoader to load spreadsheet files easily.
Loading files turns spreadsheet data into documents LangChain can work with.
You can specify sheet names for Excel files to load only needed data.
Practice
CSVLoader in LangChain?Solution
Step 1: Understand CSVLoader's role
CSVLoader is designed to read CSV files and transform their content into a format LangChain can use.Step 2: Differentiate from other options
Saving, visualizing, or converting files are not functions of CSVLoader.Final Answer:
To load CSV files and convert their data into documents LangChain can process -> Option AQuick Check:
CSVLoader loads CSV files = A [OK]
- Thinking CSVLoader saves or visualizes data
- Confusing CSVLoader with ExcelLoader
- Assuming CSVLoader converts file formats
data.xlsx using LangChain's ExcelLoader?Solution
Step 1: Recall ExcelLoader instantiation
ExcelLoader is instantiated by passing the file path as a string to its constructor.Step 2: Identify correct syntax
OnlyExcelLoader('data.xlsx')correctly creates a loader instance; other methods like load(), read(), open() are invalid here.Final Answer:
loader = ExcelLoader('data.xlsx') -> Option DQuick Check:
Use constructor with filename = A [OK]
- Using non-existent methods like load() or read() on ExcelLoader
- Forgetting to pass filename as a string
- Trying to open file with open() method on loader
from langchain.document_loaders import CSVLoader
loader = CSVLoader('contacts.csv')
docs = loader.load()What will
docs contain after running this code?Solution
Step 1: Understand CSVLoader.load() output
The load() method returns a list of document objects, each representing a row or chunk from the CSV file.Step 2: Eliminate incorrect options
It does not return a single string, dictionary, or error for missing sheet name (sheet names apply to ExcelLoader).Final Answer:
A list of document objects representing rows from the CSV file -> Option BQuick Check:
load() returns list of documents = D [OK]
- Expecting a string or dictionary instead of documents list
- Confusing CSVLoader with ExcelLoader sheet requirements
- Assuming load() returns raw file content
from langchain.document_loaders import ExcelLoader
loader = ExcelLoader('data.xlsx', sheet_name='Sheet1')
docs = loader.load()Solution
Step 1: Check ExcelLoader sheet name parameter
ExcelLoader expects the parametersheet_names(plural) as a list of sheet names, notsheet_name.Step 2: Validate other options
ExcelLoader does accept sheet names, relative paths are allowed, and load() does not take sheet name arguments.Final Answer:
The parameter should be namedsheet_names(plural), notsheet_name-> Option CQuick Check:
Use sheet_names list parameter = C [OK]
- Using singular sheet_name instead of plural sheet_names
- Thinking load() needs sheet name argument
- Believing relative paths are invalid
report.xlsx using LangChain. Which code snippet correctly does this?Solution
Step 1: Use correct parameter to specify sheets
ExcelLoader acceptssheet_namesas a list of sheet names to load only those sheets.Step 2: Confirm load() usage
load() does not take sheet names; they must be specified when creating the loader.Step 3: Evaluate options
loader = ExcelLoader('report.xlsx', sheet_name='Sales') docs = loader.load() usessheet_name(singular), incorrect. loader = ExcelLoader('report.xlsx') docs = loader.load(sheet_name='Sales') passes sheet name toload(), invalid. loader = ExcelLoader('report.xlsx') docs = loader.load() filter_docs = [d for d in docs if d.metadata['sheet'] == 'Sales'] loads all sheets then filters manually, inefficient. Only loader = ExcelLoader('report.xlsx', sheet_names=['Sales']) docs = loader.load() correctly usessheet_names=['Sales']at loader creation.Final Answer:
loader = ExcelLoader('report.xlsx', sheet_names=['Sales']) docs = loader.load() -> Option AQuick Check:
Use sheet_names list at loader creation = B [OK]
- Using singular sheet_name parameter
- Passing sheet name to load() method
- Loading all sheets then filtering manually
Ready to prove it?
Pass the test and this pattern moves unknown
