pandas读取表格智能跳过表头

1. 找到表头所在行

我们可以通过表头字段来判断表头所在行,即先逐行读取内容然后合并成字符串,接着判断某特定内容是否在字符串内,如果在则判定为表头所在行。

2. 读取表格跳过表头

在上一步我们知道了表头所在的位置,使用 pandas.read_excel() 的时候指定表头或跳过即可。

我们以表头包含“票据包号”和“子票区间”字段为例,最终代码:

import pandas as pd

def find_table_header_index(df: pd.DataFrame) -> int:
    """找到表头所在行"""
    for index, row in df.iterrows():
        row_str = ",".join(str(x) for x in row.to_list())
        if "票据包号" in row_str and "子票区间" in row_str:
            return index
    return -1

def demo1():
    filename = "./查重数据.xlsx"
    df = pd.read_excel(filename, header=None)
    index = find_table_header_index(df)
    df = pd.read_excel(filename, skiprows=index)
posted @ 2024-07-07 22:16  那个白熊  阅读(12)  评论(0编辑  收藏  举报