使用python写一个修改execl表格的脚本

使用的前提记得安装python的环境。

import os
import pandas as pd

def listdir(path): #传入根目录
    file_list = []
    for file in os.listdir(path):
        file_path = os.path.join(path, file) #获取绝对路径
        if os.path.isdir(file_path): #如果还是文件夹,就继续迭代本函数
            listdir(file_path)
        elif os.path.splitext(file_path)[1] == '.xlsx' or os.path.splitext(file_path)[1] == '.xlsx': #判断文件是否是Excel文件
            file_list.append(file_path)
    return file_list #返回Excel文件路径列表

if __name__ == '__main__':
    path="C://Users//86130//Desktop//pyexcel//"
    file_names=listdir(path)
    frames = []
    try:
        for file_name in file_names:
            print("---------------BEGAIN---------------\n 正在合并:")
            ls_data = pd.read_excel(file_name)
            df = pd.DataFrame(data=ls_data)
            #print(df)
            frames.append(df)
        result = pd.concat(frames, ignore_index=True)

        # 根据"代码"列进行去重
        result = result.drop_duplicates(subset=['代码'], keep='first')
        # 删除空行
        empty_rows = result[result['单位'].isnull()].index
        result.drop(empty_rows, inplace=True)
        #规格型号补空
        result.loc[result['规格'].isnull(), '规格'] = ' '
        result.drop('来源', axis=1, inplace=True)
        #改名
        result.rename(columns={'名称': '名称'}, inplace=True)
        #加一列
        result.insert(result.columns.get_loc("超市名称") + 1, "超市全名", '')
        # 将"超市全名"列的数据移动到"超市名称"列中
        result[超市全名'] = result['全名']
        #补全超市全名
        result['超市全名'].fillna(result['超市名称'], inplace=True)
        result.drop('代码', axis=1, inplace=True)
        #超市全名给超市种类
        result.insert(0, 超市种类名称', result['超市全名'].str.split('_').str[0])
        result.drop('全名', axis=1, inplace=True)
        result.insert(result.columns.get_loc("超市全名") + 1, "超市类别", '')
        # 交换列的位置
        result['超市名称'], result['单位'] = result['单位'], result['超市名称']
        # 交换表头中的列名
        result.rename(columns={'超市名称': '单位', '单位': '超市'}, inplace=True)
        #添加列
        result.insert(result.columns.get_loc("型号") + 1, "超市属性", '')
       
        result.insert(result.columns.get_loc("超市名称") + 1, "最低库存", 1)
        result.insert(result.columns.get_loc("最低库存") + 1, "最高库存", 10)

        result.drop('默认超市', axis=1, inplace=True)
//修改当前列的数据格式
        df = pd.read_excel(excel_file, parse_dates=['日期'], date_format="%Y-%m-%d %H:%M:%S")
        result.to_excel("C://Users//86130//Desktop//pyexcel//mergeS1.xlsx", index=False)
        print(file_name + "已合并")
    except Exception as e:
        print(e)
        print("写入失败!")
        #pass

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值