解析Excel表表头
常见的一级表头
表头通常位于Excel文件的第一行,包含了每一列的名称。在Excel文件中,第一行的单元格内容通常定义了每一列的字段名称,这些字段名称就是表头。
import pandas as pd
# 加载Excel文件
file_path = "Test.xlsx" # 替换为你的文件路径
df = pd.read_excel(file_path)
# 获取表头
headers = df.columns.tolist()
# 打印表头
print("表头信息如下:")
print(headers)
多级表头
对于多级表头,需要使用pandas的header参数来指定表头所在的行。如果表头分布在多行,可以通过header=[0, 1](假设表头分布在第1行和第2行)来解析。
import pandas as pd
# 加载Excel文件
file_path = "Test.xlsx" # 替换为你的文件路径
df = pd.read_excel(file_path, header=[0, 1]) # 假设表头分布在第1行和第2行
# 获取表头
headers = df.columns.tolist()
# 打印表头
print("表头信息如下:")
for header in headers:
print(header)
根据sheet表进行解析
某些情况下只有获取sheet表
# 常见表头
def parse_headers_from_sheet(sheet):
# 获取表头信息
headers = []
for col in range(1, sheet.UsedRange.Columns.Count + 1):
header = sheet.Cells(1, col).Value
if header:
headers.append(header)
else:
break # 如果某个单元格为空,则假设表头结束
return headers
# 多级表头
def parse_multilevel_headers_from_sheet(sheet):
# 获取第一行表头
first_row_headers = []
for col in range(1, sheet.UsedRange.Columns.Count + 1):
header = sheet.Cells(1, col).Value
if header:
first_row_headers.append(header)
else:
break # 如果某个单元格为空,则假设表头结束
# 获取第二行表头
second_row_headers = []
for col in range(1, sheet.UsedRange.Columns.Count + 1):
header = sheet.Cells(2, col).Value
if header:
second_row_headers.append(header)
else:
break # 如果某个单元格为空,则假设表头结束
# 组合多级表头
headers = list(zip(first_row_headers, second_row_headers))
return headers