赞
踩
1、梳理流程思路
2、具体代码实现
- import pandas as pd
- import xlrd
- from openpyxl import load_workbook
- file_path=r"E:\\work\\shuju\\源表\\2021年淘客订单汇总表.xlsx"
- wb = xlrd.open_workbook(file_path) #打开工作簿
- sheets = wb.sheet_names() # 获取工作簿的sheet页名字
- print(sheets) # 打印sheet页名字
可以看出,已经打印出了这个Excel中包含的所有sheet页名字。
接下来使用for来对Excel表进行遍历循环,首先看一下循环打印结果:
- # 目的将部分Excel中的数据进行处理
- pass_list = ['总表','记-0082','记-0169', '记-0170', '记-0171'] # 将
- # 将所有的表进行循环遍历
- for i in sheets:
- if i not in pass_list:
- print(i)
- else:
- print(i,"not in list")
- print("循环结束")
结果显示:
目的:将指定sheet页的指定列进行拼接
- # 目的将部分Excel中的数据进行拼接
- pass_list = ['总表','记-0082','记-0169', '记-0170', '记-0171'] # 将
- # 将所有的表进行循环遍历
- all_data =pd.DataFrame() #首先构建一个空的DataFrame对象,用于存放数据
- for i in sheets:
- if i not in pass_list:
- data = pd.read_excel(file_path ,sheet_name =i)
- # print(list(data)) #打印data的列名
- if '订单付款时间 ' in list(data):
- data=data.rename(columns={'订单付款时间 ': '订单付款时间'}) #由于数据不规范,对数据列名进行规范
- Data = data[['订单付款时间','买家会员名']]
- print(Data.head())
- Data['订单付款时间'] = Data['订单付款时间'].astype(str) #将该字段转为字符串类型
- Data['Sheet_name'] = i
- all_data = all_data.append(Data)
-
- print("=========")
- print("循环结束")
结果输出:
- out_path =r"E:\\work\\shuju\\源表\\hebing.xlsx" #构建输出表
- writer = pd.ExcelWriter(out_path)
- all_data .to_excel(writer,sheet_name ='Sheet1',index =False)
- writer.save() #保存结果
- writer.close()
整个小项目完成~~~~~~~~~~~~~~~~~
学会之后,真的减轻了工作量,大大提高了效率
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。