python保留格式汇总各部门excel内容的实现思路

yizhihongxing

下面我来讲解一下“Python保留格式汇总各部门Excel内容的实现思路”的完整实例教程。

一、需求分析

我们需要实现一个Python程序,该程序可以自动批量提取各部门的Excel表格内容,并将内容汇总到一个新的Excel表格中,同时保留原有表格的格式和样式。

二、实现过程

1. 首先安装所需的Python模块

在终端中输入以下命令进行安装:

pip install pandas openpyxl xlrd xlwt xlutils

2. 编写Python程序

2.1 读取各部门Excel表格内容

使用pandas模块的read_excel()函数读取各部门Excel表格内容,代码示例如下:

import pandas as pd

# 读取各部门Excel表格内容
dept1_df = pd.read_excel("dept1.xlsx")
dept2_df = pd.read_excel("dept2.xlsx")
dept3_df = pd.read_excel("dept3.xlsx")

2.2 在新的Excel表格中汇总内容

使用pandas模块的concat()函数将各部门Excel表格内容汇总到一个新的Excel表格中,代码示例如下:

import pandas as pd

# 读取各部门Excel表格内容
dept1_df = pd.read_excel("dept1.xlsx")
dept2_df = pd.read_excel("dept2.xlsx")
dept3_df = pd.read_excel("dept3.xlsx")

# 将各部门Excel表格内容汇总到一个新的Excel表格中
sum_df = pd.concat([dept1_df, dept2_df, dept3_df])

2.3 保留原有表格的格式和样式

使用openpyxl模块读取新的Excel表格,并将各部门Excel表格内容的格式和样式复制到新的Excel表格中,代码示例如下:

import pandas as pd
from openpyxl import load_workbook
from openpyxl.utils.dataframe import dataframe_to_rows

# 读取各部门Excel表格内容
dept1_df = pd.read_excel("dept1.xlsx")
dept2_df = pd.read_excel("dept2.xlsx")
dept3_df = pd.read_excel("dept3.xlsx")

# 将各部门Excel表格内容汇总到一个新的Excel表格中
sum_df = pd.concat([dept1_df, dept2_df, dept3_df])

# 将新Excel表格中的数据复制到原有Excel表格的样式和格式中
book = load_workbook("new.xlsx")
writer = pd.ExcelWriter("new.xlsx", engine='openpyxl') 
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
sum_df.to_excel(writer, index=False, header=False, startrow=writer.sheets['Sheet1'].max_row)
for row in dataframe_to_rows(sum_df, index=False, header=False):
    writer.sheets['Sheet1'].append(row)
writer.save()

其中,new.xlsx是新的Excel表格文件名,Sheet1是新Excel表格中的Sheet名称。

3. 运行Python程序

在终端中输入以下命令运行Python程序:

python excel.py

运行完成后,在new.xlsx文件中即可看到各部门Excel表格内容的汇总,并且保留了原有表格的格式和样式。

三、示例说明

示例1

例如,我们有3个部门A、B、C,他们分别有自己的Excel表格a.xlsx、b.xlsx、c.xlsx。我们想将这些Excel表格内容汇总到一个新的Excel表格new.xlsx中,并且保留原有表格的格式和样式。

在终端中,我们运行excel.py文件,即可实现将各部门Excel表格内容汇总到一个新的Excel表格中,并保留原有表格的格式和样式。

示例2

另一个例子是,如果我们在新Excel表格中想要添加一行合计数据,可以在sum_df中加入新的一行,代码示例如下:

import pandas as pd
from openpyxl import load_workbook
from openpyxl.utils.dataframe import dataframe_to_rows

# 读取各部门Excel表格内容
dept1_df = pd.read_excel("dept1.xlsx")
dept2_df = pd.read_excel("dept2.xlsx")
dept3_df = pd.read_excel("dept3.xlsx")

# 将各部门Excel表格内容汇总到一个新的Excel表格中
sum_df = pd.concat([dept1_df, dept2_df, dept3_df])

# 添加合计
sum_df.loc[len(sum_df)] = sum_df.sum()

# 将新Excel表格中的数据复制到原有Excel表格的样式和格式中
book = load_workbook("new.xlsx")
writer = pd.ExcelWriter("new.xlsx", engine='openpyxl') 
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
sum_df.to_excel(writer, index=False, header=False, startrow=writer.sheets['Sheet1'].max_row)
for row in dataframe_to_rows(sum_df, index=False, header=False):
    writer.sheets['Sheet1'].append(row)
writer.save()

在运行后可以在新的Excel表格中看到添加了一行合计数据。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python保留格式汇总各部门excel内容的实现思路 - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • Python基于BeautifulSoup爬取京东商品信息

    Python基于BeautifulSoup爬取京东商品信息 在本文中,我们将介绍如何使用Python和BeautifulSoup库爬取京东商品信息。我们将使用Python的requests库发送HTTP请求,然后使用BeautifulSoup库解析HTML响应。最后,我们将提取商品信息并将其保存到CSV文件中。 安装依赖库 在使用Python工具之前,我们需…

    python 2023年5月14日
    00
  • Python for循环你了解吗

    Python中的for循环是常见的循环结构之一,它可以依次遍历序列类型的数据元素,比如列表、元组、字符串等。 语法 for 变量 in 可迭代对象: # 循环体 其中,变量表示当前遍历的元素,可迭代对象表示要遍历的数据序列。冒号后面的部分为循环体,需要缩进表示属于循环范围内的代码块。 示例一:遍历列表 fruits = [‘apple’, ‘banana’,…

    python 2023年6月3日
    00
  • python正则表达式之re.match()与re.search()的用法及区别

    以下是“Python正则表达式之re.match()与re.search()的用法及区别”的完整攻略: 一、问题描述 在Python中,我们可以使用re模块中的match()函数和search()函数来匹配字符串。本文将详细讲解Python正则表达式中match()函数和search()函数的用法及区别。 二、解决方案 2.1 match()函数和searc…

    python 2023年5月14日
    00
  • Python 用cycle()循环迭代

    下面是关于Python中cycle()函数的使用方法说明。 cycle()函数的作用 cycle()函数可以将输入的可迭代对象无限重复输出,从而可以实现循环迭代的效果。 cycle()函数的语法 cycle(iterable) 参数说明: iterable:要重复的可迭代对象。 返回值说明: cycle()函数返回一个迭代器,可以无限次重复遍历输入的可迭代对…

    python-answer 2023年3月25日
    00
  • Python实现二维数组按照某行或列排序的方法【numpy lexsort】

    Python是一种非常实用的编程语言,拥有丰富的库和工具来帮助我们完成各种任务。其中,Numpy库是Python中非常重要的科学计算库之一,它提供了高效的数组操作和库函数来处理大型数据集。本文将介绍如何使用Numpy库中的lexsort()方法实现二维数组按照某行或列排序的方法。 Numpy中的lexsort()方法 lexsort()方法是Numpy中非常…

    python 2023年6月5日
    00
  • python 爬虫基本使用——统计杭电oj题目正确率并排序

    杭电OJ是一个著名的在线评测系统,提供了大量的算法题目。本攻略将介绍如何使用Python爬虫统计杭电OJ题目的正确率,并按照正确率排序。 爬取题目信息 我们可以使用Python的requests库和BeautifulSoup库爬取杭电OJ的题目信息。以下是一个示例代码,用于爬取杭电OJ的题目信息: import requests from bs4 impor…

    python 2023年5月15日
    00
  • Python中xml和dict格式转换的示例代码

    下面是“Python中xml和dict格式转换的示例代码”的完整攻略。 1. 背景介绍 在Python的开发过程中,经常需要将XML格式的数据转换成Python的dict格式。这样可以方便地提取和操作数据。Python提供了一些标准的库,可以方便地完成XML与dict的相互转换。 2. 示例一:XML转换成Dict 假设我们有一个XML文件,内容如下: &l…

    python 2023年6月3日
    00
  • python解析库Beautiful Soup安装的详细步骤

    Beautiful Soup是一个Python库,用于解析HTML和XML文档,并提供了一些方便的方法来获取和操作文档中的元素。本文将详细讲解如何安装Beautiful Soup库,包括两个示例。 步骤一:安装pip 在安装Beautiful Soup之前,需要确保已安装pip。pip是Python的包管理器,用于安装和管理Python包。如果您已经安装了p…

    python 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部