1.通过pandas读取excel文件;
2.有些表格开头是表格内容描述,将其查找出来;
3.查找标题部分,有些标题包含合并单元格,将其进行拆解;拆解后转为markdown格式;
4.处理body部分,从标题往下,转markdown结构。
df = pd.read_excel(excel_file_path, sheet_name=sheet_name, header=None)
#通过规则判断找出表格描述部分的若干行
# 转换为Markdown格式
md_table0 = tabulate(df).replace("-","").replace(" ","").strip()
#通过序号的位置,找到表格正文的起始行
#获取表格标题的起止行,对标题进行处理
#加载表格
wb = load_workbook(excel_file_path)
sheet = wb[sheet_name if isinstance(sheet_name, str) else wb.sheetnames[sheet_name]]
# 获取合并单元格信息
merged_cells = sheet.merged_cells
#将标题中的合并单元格进行拆解
#获取body部分内容
#将其转为markdown格式
df_sel = df.iloc[body_index:]
md_table = tabulate(df_sel, tablefmt='pipe', headers=title_cls, numalign='left', stralign='left')
markdown格式的数据可以存入大模型的知识库中,使用大模型进行excel表格内容的检索问答。
|index|序号|姓名|生日|配偶工作|是否参见疗养|孩子出生日期|保险到期日|
|---|--|--|--|---|----|----|-----|
|1|2|汤辟邦|1980.1.22|公务员|是|2006.6.1|2024.9.1|
|2|3|周卓浩|1980.2.22|教师|否|2009.8.1|2024.9.1|