0
点赞
收藏
分享

微信扫一扫

Python读取表格数据 对比第一列 如果不有不同的 输出出来


import pandas as pd

def get_first_row(excel_path,out_path):
    # 读取数据,将第一列解析为字符串类型  默认不会读取隐藏的内容
    df = pd.read_excel(excel_path, dtype={'订单编号': str}, sheet_name='订单数据', usecols=[0])
    # 处理数据
    # df['订单编号'] = 'a' + df['订单编号']
    # 将数据写入新的Excel文件
    with pd.ExcelWriter(out_path) as writer:
        df.to_excel(writer, sheet_name='Sheet1', index=False)


def get_result(sheet1,sheet2):
    # 读取数据
    df1 = pd.read_excel(sheet1, usecols=[0], sheet_name='Sheet1')
    df2 = pd.read_excel(sheet2, usecols=[0], sheet_name='Sheet1')

    # 不读取NaN的单元格
    df1.dropna(subset=[df1.columns[0]], inplace=True)
    df2.dropna(subset=[df2.columns[0]], inplace=True)

    # 转换成list
    list1 = df1.iloc[:, 0].tolist()
    list2 = df2.iloc[:, 0].tolist()

    # 使用zip对比2个list之间不同的地方
    combined_list = list(zip(list1, range(1, len(list1) + 1), range(1, len(list2) + 1)))

    # 返回结果
    return [{'内容': elem[0], '表1': elem[1], '表2': elem[2]} for elem in combined_list if elem[0] in list2]

get_first_row(r'D:\qq聊天记录\774136143\FileRecv\五福4月佣金表最新.xlsx','4月.xlsx')
get_first_row(r'D:\qq聊天记录\774136143\FileRecv\五福3月佣金表.xlsx','3月.xlsx')
print(get_result('4月.xlsx', '3月.xlsx'))


举报

相关推荐

0 条评论