当前位置: 首页 > news >正文

潍坊网站开发高手推广联盟平台

潍坊网站开发高手,推广联盟平台,福田蒙派克质量怎么样,会员卡管理系统下载处理文件题头格式 部门名称 年度名称 季节名称 商品名称 商品代码 品牌名称 品类名称 颜色名称 商店名称 0M 1L 1XL 27 28 29 2XL 30 31 32 33 3XL 4XL 5XL 6XL S 均1.导入包 导入源 pip install openpyxl -i https://pypi.doubanio.com/simple pip install pandas -i https…

处理文件题头格式

部门名称	年度名称	季节名称	商品名称	商品代码	品牌名称	品类名称	颜色名称	商店名称	0M	1L	1XL	27	28	29	2XL	30	31	32	33	3XL	4XL	5XL	6XL	S	均

1.导入包

导入源

pip install openpyxl -i https://pypi.doubanio.com/simple
pip install pandas -i https://pypi.doubanio.com/simple
from openpyxl import load_workbook
from openpyxl import Workbook
from openpyxl import styles
from openpyxl.styles import *
import pandas as pd
import string
import re
import os

2读入数据

	filePath1 = './src/本周销售明细.xlsx'filePath2 = './src/上周销售明细.xlsx'# 加载工作簿wb = load_workbook(filePath1)# 获取sheet页,修改第一个sheet页面为name1 = wb.sheetnames[0]ws1 = wb[name1]ws1.title = "销售明细"wb.save(filePath1)# 销售明细df0 = pd.read_excel(filePath1, sheet_name='销售明细')

合并两列数据

pd.merge(df1, #要合并的左表df2, #要合并的右表how = 'outer',#合并的方式:inner-内连接,outer--全外连接,left--左外连接,right--右外连接,外连接的时候,没有数据的地方会填充为NaN,默认为inner。on=None,
#默认为None,合并的根据,要写出两个DataFrame共有的列,注意一定要是列名相同的,否则会报错,为list类型(多个列)或str(一列)
#如:['name']或者'name',默认None的时候,merge会自动寻找相同列名的列。left_on=None,right_on=None,
#当两表连接的根据列名字不一样的时候,用left on和right on列出两表连接的根据列,数值类型和on一样,默认None,比如df1和df3合并就需要用到left_on = 'name',right_on = '名字'。left_index = False,right_index = False,
#当进行连接的两表没有共同的根据列的时候,可以使用行索引进行合并,将left_index和right_index都设置为True即可,默认为Falsesort = True) #根据连接用的列进行排序,默认为False

数据预处理

	file_path1 = './src/本周销售明细.xlsx'file_path2 = './src/上周销售明细.xlsx'#修改工作簿表名为销售明细sheet_name_deal(file_path1)sheet_name_deal(file_path2)file_path3 = './src/本周销售明细精修.xlsx'file_path4 = './src/上周销售明细精修.xlsx'creat_excel(file_path3)creat_excel(file_path4)#计算合计index_list = ['部门名称', '年度名称', '季节名称', '商品代码', '商品名称', '品牌名称', '品类名称', '颜色名称', '商店名称']value_list = ['0M', '1L', '1XL', '27', '28', '29', '2XL', '30', '3XL', '4XL', '5XL', '6XL', 'S', '均', '合计']#读入数据df1 = pd.read_excel(file_path1, sheet_name='销售明细')df2 = pd.read_excel(file_path2, sheet_name='销售明细')# 求和,需将文本的列指定为索引df1 = df1.set_index(index_list)# df1.loc["按列求和"] = df1.apply(lambda x: x.sum())df1['合计'] = df1.apply(lambda x: x.sum(), axis=1)# 求和,需将文本的列指定为索引df2 = df2.set_index(index_list)# df1.loc["按列求和"] = df1.apply(lambda x: x.sum())df2['合计'] = df2.apply(lambda x: x.sum(), axis=1)# 重置索引,防止导出excel列索引时单元格合并df1 = df1.reset_index()df2 = df2.reset_index()# 将生成的工作表导入到程序中result_sheet = pd.ExcelWriter(file_path3, engine='openpyxl')  # 先定义要存入的文件名xxx,然后分别存入xxx下不同的sheet# df1将0转变为空df1 = df1.replace(0, '')df1.to_excel(result_sheet, "销售明细", index=False, na_rep=0, inf_rep=0)# 这步不能省,否则不生成文件result_sheet._save()# 将生成的工作表导入到程序中result_sheet = pd.ExcelWriter(file_path4, engine='openpyxl')  # 先定义要存入的文件名xxx,然后分别存入xxx下不同的sheet# df1将0转变为空df2.to_excel(result_sheet, "销售明细", index=False, na_rep=0, inf_rep=0)# 这步不能省,否则不生成文件result_sheet._save()

完整代码

from openpyxl import load_workbook
from openpyxl import Workbook
from openpyxl import styles
from openpyxl.styles import *
import pandas as pd
import string
import re
import os
# Press the green button in the gutter to run the script.def sheet_name_deal(file_path):wb = load_workbook(file_path)# 获取sheet页,修改第一个sheet页面名为销售明细name1 = wb.sheetnames[0]ws1 = wb[name1]ws1.title = "销售明细"wb.save(file_path)def creat_excel(file_path):# 没有就创建if os.path.exists(file_path):print("文件已存在")print(file_path)else:# 创建一个新的 Excel 文件wb = Workbook()wb.save(file_path)def pretreatment():file_path1 = './src/本周销售明细.xlsx'file_path2 = './src/上周销售明细.xlsx'# 修改工作簿表名为销售明细sheet_name_deal(file_path1)sheet_name_deal(file_path2)file_path3 = './src/本周销售明细精修.xlsx'file_path4 = './src/上周销售明细精修.xlsx'creat_excel(file_path3)creat_excel(file_path4)# 计算合计index_list = ['部门名称', '年度名称', '季节名称', '商品代码', '商品名称', '品牌名称', '品类名称', '颜色名称', '商店名称']value_list = ['0M', '1L', '1XL', '27', '28', '29', '2XL', '30', '3XL', '4XL', '5XL', '6XL', 'S', '均', '合计']# 读入数据df1 = pd.read_excel(file_path1, sheet_name='销售明细')df2 = pd.read_excel(file_path2, sheet_name='销售明细')# 求和,需将文本的列指定为索引df1 = df1.set_index(index_list)# df1.loc["按列求和"] = df1.apply(lambda x: x.sum())df1['合计'] = df1.apply(lambda x: x.sum(), axis=1)# 求和,需将文本的列指定为索引df2 = df2.set_index(index_list)# df1.loc["按列求和"] = df1.apply(lambda x: x.sum())df2['合计'] = df2.apply(lambda x: x.sum(), axis=1)# 重置索引,防止导出excel列索引时单元格合并df1 = df1.reset_index()df2 = df2.reset_index()# 将生成的工作表导入到程序中result_sheet = pd.ExcelWriter(file_path3, engine='openpyxl')  # 先定义要存入的文件名xxx,然后分别存入xxx下不同的sheet# df1将0转变为空df1 = df1.replace(0, '')df1.to_excel(result_sheet, "销售明细", index=False, na_rep=0, inf_rep=0)# 这步不能省,否则不生成文件result_sheet._save()# 将生成的工作表导入到程序中result_sheet = pd.ExcelWriter(file_path4, engine='openpyxl')  # 先定义要存入的文件名xxx,然后分别存入xxx下不同的sheet# df1将0转变为空df2.to_excel(result_sheet, "销售明细", index=False, na_rep=0, inf_rep=0)# 这步不能省,否则不生成文件result_sheet._save()if __name__ == '__main__':# pretreatment()file_path3 = './src/本周销售明细精修.xlsx'file_path4 = './src/上周销售明细精修.xlsx'# 销售明细df3 = pd.read_excel(file_path3, sheet_name='销售明细')df4 = pd.read_excel(file_path4, sheet_name='销售明细')# 部门周销df01 = df3.pivot_table(index="部门名称", values="合计", aggfunc='sum').copy()df01 = df01.reset_index()df01.sort_values(by="合计", axis=0, ascending=False, inplace=True)# 客户周销环比index_list = ['部门名称', '商店名称']# 本周客户周销df021 = df3.pivot_table(index=index_list, values="合计", aggfunc='sum').copy()# 上周客户周销df022 = df4.pivot_table(index=index_list, values="合计", aggfunc='sum').copy()# 全连接# 重命名列df021["本周销量"] = df021.pop('合计')df022['上周销量'] = df022.pop('合计')df023 = pd.merge(df021, df022, how='outer', left_index=True, right_index=True)df023['销比'] = (df023['本周销量']-df023['上周销量'])/df023['上周销量']df023 = df023.reset_index()df023.sort_values(by="销比", axis=0, ascending=False, inplace=True)#品类周销环比#本周销量df031 = df3.pivot_table(index="品类名称", values="合计", aggfunc='sum').copy()#上周销量df032 = df4.pivot_table(index="品类名称", values="合计", aggfunc='sum').copy()# 全连接# 重命名列df031["本周销量"] = df031.pop('合计')df032['上周销量'] = df032.pop('合计')df033 = pd.merge(df031, df032, how='outer', left_index=True, right_index=True)df033['销比'] = (df033['本周销量'] - df033['上周销量']) / df033['上周销量']df033 = df033.reset_index()df033.sort_values(by="销比", axis=0, ascending=False, inplace=True)#季节周销df04 = df3.pivot_table(index="季节名称", values="合计", aggfunc='sum').copy()df04 = df04.reset_index()df04.sort_values(by="合计", axis=0, ascending=False, inplace=True)#品类周销df05 = df3.pivot_table(index="品类名称", values="合计", aggfunc='sum').copy()df05 = df05.reset_index()df05.sort_values(by="合计", axis=0, ascending=False, inplace=True)# 各部门品类销量前五index_list = ['部门名称', '商店名称']df060 = df3.pivot_table(index=index_list, values="合计", aggfunc='sum').copy()df060 = df060.reset_index()df061 = df060[df060['部门名称'] == '商品1部'].nlargest(5, '合计')df062 = df060[df060['部门名称'] == '商品3部'].nlargest(5, '合计')df063 = df060[df060['部门名称'] == '商品6部'].nlargest(5, '合计')df064 = df060[df060['部门名称'] == '直营4部'].nlargest(5, '合计')df065 = pd.concat([df061, df062, df063, df064])#删除第一列数字索引#df065 = df065.drop(df065.columns[0], axis=1)df065 = df065.pivot_table(index=index_list, values="合计", aggfunc='sum').copy()print(df065)#将行索引转化为列索引#df065.stack(level=1)# 将生成的工作表导入到程序中file_path5 = './src/双周数据图表.xlsx'creat_excel(file_path5)result_sheet = pd.ExcelWriter(file_path5, engine='openpyxl')  # 先定义要存入的文件名xxx,然后分别存入xxx下不同的sheet# df1将0转变为空#部门周销df01 = df01.replace(0, '')df01.to_excel(result_sheet, "部门周销", index=False, na_rep=0, inf_rep=0)# 客户周销环比#将NaN替换为空白df023 = df023.fillna('')df023.to_excel(result_sheet, "客户周销环比", index=False, na_rep=0, inf_rep=0)#品类周销环比# 将NaN替换为空白df033 = df033.fillna('')df033.to_excel(result_sheet, "品类周销环比", index=False, na_rep=0, inf_rep=0)# 季节周销df04 = df04.replace(0, '')df04.to_excel(result_sheet, "季节周销", index=False, na_rep=0, inf_rep=0)# 品类周销df05 = df05.replace(0, '')df05.to_excel(result_sheet, "品类周销", index=False, na_rep=0, inf_rep=0)# 品类部门周销排名df065 = df05.replace(0, '')df065.to_excel(result_sheet, "品类部门周销排名", index=True, na_rep=0, inf_rep=0)# 这步不能省,否则不生成文件result_sheet._save()
# See PyCharm help at https://www.jetbrains.com/help/pycharm/
http://www.hengruixuexiao.com/news/13923.html

相关文章:

  • 网站接入支付宝在线交易怎么做北京百度科技有限公司电话
  • 免费1级做看网站seo计费系统
  • 网站名称 规则站优化
  • 微信公众号优惠和网站绑定怎么做厦门谷歌seo公司
  • 做网站含营销郑州seo
  • wp怎样做可以下载的网站搜索引擎优化的名词解释
  • 三点水网站建设站长素材官网免费
  • 武昌网站建设 优帮云360识图
  • 网站建设优化服务器网络推广公司
  • 工业和信息化部网站备案查询站长工具seo综合查询下载
  • 陕西省住房城乡建设厅网站管理中心推广软文怎么写样板
  • wordpress flat关键词优化公司费用多少
  • 做动漫主题的网站免费的行情软件app网站
  • 网站的英文版怎么做的危机公关处理方案
  • 成都龙泉驿今日疫情南昌网站优化公司
  • 网站建设的商业阶段百度下载软件
  • 重庆企业做网站多少钱个人免费域名注册网站
  • 做旅行网站多少钱营销是什么意思
  • 网站建设太难了seo优化工具有哪些
  • 哈尔滨免费模板建站网络营销的现状
  • 东阿做网站外贸网站推广方法之一
  • 怎样学做网站百度浏览器下载
  • 做电商网站用什么技术百度网址大全官网旧版
  • seo网站优化是什么福州seo公司排名
  • 网络平台推广运营培训说到很多seo人员都转行了
  • 一个网站不兼容ie怎么做怎么学做电商然后自己创业
  • 中国供应商教程seo推广排名网站
  • 网上花店网站建设规划书青岛网站推广公司排名
  • 新沂网站开发口碑营销的特征
  • 做虚假彩票网站判几年seo搜索排名优化是什么意思