XLSXToDocument
XLSXToDocument
Excel 파일을 문서(Document)로 변환해 주는 컴포넌트예요. XLSX 파일을 읽어 CSV(기본) 또는 Markdown 형식의 Haystack 문서로 만들어 줘요.
파이프라인에서 가장 흔한 위치: PreProcessor 앞, 또는 인덱싱 파이프라인의 맨 앞
필수 run 변수: sources — 파일 경로 또는 ByteStream 객체
출력 변수: documents — 문서 리스트
API 레퍼런스: Converters
GitHub 링크: https://github.com/deepset-ai/haystack/blob/main/haystack/components/converters/xlsx.py
패키지 이름: haystack-ai
출처: 문서
본문
개요 (Overview)
XLSXToDocument 컴포넌트는 XLSX 파일을 CSV(기본) 또는 Markdown 형식의 Haystack Document로 변환해요. 입력으로 파일 경로 또는 ByteStream 객체 리스트를 받아, 변환 결과를 문서 리스트로 출력해요. 선택적으로 meta 입력 파라미터로 문서에 메타데이터를 붙일 수 있어요.
컴포넌트 초기화로 지정할 수 있는 추가 파라미터는 API Reference에서 확인할 수 있어요.
사용법 (Usage)
먼저 pandas, openpyxl, tabulate 패키지를 설치해 이 converter를 사용해요:
pip install pandas openpyxl
pip install tabulate
단독으로 사용하기 (On its own)
from haystack.components.converters import XLSXToDocument
converter = XLSXToDocument()
results = converter.run(
sources=["sample.xlsx"],
meta={"date_added": datetime.now().isoformat()},
)
documents = results["documents"]
print(documents[0].content)
# ",A,B\n1,col_a,col_b\n2,1.5,test\n"
파이프라인 안에서 사용하기 (In a pipeline)
from haystack import Pipeline
from haystack.document_stores.in_memory import InMemoryDocumentStore
from haystack.components.converters import XLSXToDocument
from haystack.components.preprocessors import DocumentCleaner
from haystack.components.preprocessors import DocumentSplitter
from haystack.components.writers import DocumentWriter
document_store = InMemoryDocumentStore()
pipeline = Pipeline()
pipeline.add_component("converter", XLSXToDocument())
pipeline.add_component("cleaner", DocumentCleaner())
pipeline.add_component(
"splitter",
DocumentSplitter(split_by="sentence", split_length=5),
)
pipeline.add_component("writer", DocumentWriter(document_store=document_store))
pipeline.connect("converter", "cleaner")
pipeline.connect("cleaner", "splitter")
pipeline.connect("splitter", "writer")
pipeline.run({"converter": {"sources": file_names}})