Python - Excel拆分详解(按工作表、行、列、内容拆分)

这篇具有很好参考价值的文章主要介绍了Python - Excel拆分详解(按工作表、行、列、内容拆分)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

引言

安装Python Excel库

Python按工作表拆分Excel

Python按行拆分Excel

Python按列拆分Excel

Python按内容拆分Excel


引言

拆分Excel文件是一种将大型工作簿分割为更小、更易管理的部分的有效方法。当面对包含大量数据或复杂信息的工作簿时,拆分文件可以简化数据管理、提高数据处理和分析的效率。在Excel中,有几种方法可以拆分文件:

  • 按工作表拆分
  • 按行拆分
  • 按列拆分
  • 按内容拆分

接下来,我们将探讨如何使用Python实现以上4种Excel文件拆分方式。

安装Python Excel库

要在Python中实现拆分Excel文件,首先需要安装Excel库。本文所使用的库是Spire.XLS for Python,它可以通过以下pip命令进行安装:

pip install Spire.XLS

Python按工作表拆分Excel

Excel文件通常包含多个工作表,每个工作表代表不同的数据集或主题。你可以根据工作表将文件拆分成多个单独的文件,使每个文件只包含一个工作表。

以下代码将一个Excel文件按照工作表进行拆分:

from spire.xls import Workbook, FileFormat

# 定义一个 extract_worksheets 函数,用于从一个 Excel 文件中提取每个工作表到一个新的 Excel 文件
def extract_worksheets(workbook, output_folder):
    # 遍历文件中的工作表
    for worksheet in workbook.Worksheets:
        # 创建一个新的 Workbook 对象
        new_workbook = Workbook()
        # 清空新工作簿中的默认工作表
        new_workbook.Worksheets.Clear()

        # 将工作表从原始 Excel 文件复制到新的工作簿中
        new_workbook.Worksheets.AddCopy(worksheet)

        output_file_path = output_folder + worksheet.Name + ".xlsx"
        # 将新的工作簿保存为 xlsx 文件
        new_workbook.SaveToFile(output_file_path, FileFormat.Version2016)

# 指定输入的 Excel 文件路径和输出文件夹
input_file_path = "部门.xlsx"
output_folder = "Output/"
# 创建一个 Workbook 对象
workbook = Workbook()
# 加载 Excel 文件
workbook.LoadFromFile(input_file_path)

# 调用 extract_worksheet 函数,将 Excel 文件中的每个工作表提取到新的文件中
extract_worksheets(workbook, output_folder)

workbook.Dispose()

python 拆分excel,Python Excel,python,excel

Python按行拆分Excel

按行拆分是最常见的拆分Excel文件的方法之一。你可以选择按照特定的行数将一个Excel工作表拆分成多个部分。例如,将一个包含1000行的Excel工作表按照每个文件200行的规模拆分,生成5个较小的文件。

以下代码将一个Excel工作表按照特定行数进行拆分:

from spire.xls import Workbook, FileFormat

# 定义一个 extract_rows() 函数,用于从 Excel 工作表中提取特定行到新的 Excel 文件中
def extract_rows(worksheet, start_row, end_row, output_file_path):
    # 创建一个新的工作簿用于提取的行
    new_workbook = Workbook()
    # 清除新工作簿中的默认工作表
    new_workbook.Worksheets.Clear()
    # 在新工作簿中添加一个新的工作表
    new_worksheet = new_workbook.Worksheets.Add("Sheet1")
    
    if start_row == 1: 
        # 将源工作表中的特定行复制到新工作表中
        worksheet.Range[start_row, 1, end_row, len(worksheet.Columns)].Copy(new_worksheet.Range[1, 1])
    else:
        # 将源工作表的标题行复制到新工作表中
        worksheet.Range[1, 1, 1, len(worksheet.Columns)].Copy(new_worksheet.Range[1, 1])
        # 将源工作表中的特定行复制到新工作表中
        worksheet.Range[start_row, 1, end_row, len(worksheet.Columns)].Copy(new_worksheet.Range[2, 1])
    
    # 将新工作簿保存为 xlsx 文件
    new_workbook.SaveToFile(output_file_path, FileFormat.Version2016)
    new_workbook.Dispose()

# 指定输入和输出文件路径
input_file_path = "通讯录.xlsx"
output_file_path1 = "Output/1-6行.xlsx"
output_file_path2 = "Output/剩余行.xlsx"

# 加载一个 Excel 文件
workbook = Workbook()
workbook.LoadFromFile(input_file_path)
# 获取第一个工作表
worksheet = workbook.Worksheets[0]

# 调用 extract_rows() 函数,将第一个工作表中的1-6 行提取到一个新的 Excel 文件中
extract_rows(worksheet, 1, 6, output_file_path1)
# 调用 extract_rows() 函数,将第一个工作表中的剩余行提取到一个新的 Excel 文件中
extract_rows(worksheet, 7, len(worksheet.Rows), output_file_path2)

workbook.Dispose()

python 拆分excel,Python Excel,python,excel

Python按列拆分Excel

与按行拆分相似,按列拆分也是另一种常见的拆分Excel文件的方法。你可以将一个包含多列的Excel工作表拆分为多个单独的文件,每个文件包含特定数量的列。

以下代码将一个Excel工作表按照特定列数进行拆分:

from spire.xls import Workbook, FileFormat

# 定义一个 extract_columns() 函数,用于从 Excel 工作表中提取特定列到新的 Excel 文件中
def extract_columns(worksheet, start_col, end_col, output_file_path):
    # 创建一个新的工作簿用于提取的列
    new_workbook = Workbook()
    # 清除新工作簿中的默认工作表
    new_workbook.Worksheets.Clear()
    # 在新工作簿中添加一个新的工作表
    new_worksheet = new_workbook.Worksheets.Add("Sheet1")

    # 将源工作表中的特定列复制到新工作表中
    worksheet.Range[1, start_col, len(worksheet.Rows), end_col].Copy(new_worksheet.Range[1, 1])    

    # 将新工作簿保存为 xlsx 文件
    new_workbook.SaveToFile(output_file_path, FileFormat.Version2016)
    new_workbook.Dispose()

# 指定输入和输出文件路径
input_file_path = "通讯录.xlsx"
output_file_path1 = "Output/1-3列.xlsx"
output_file_path2 = "Output/剩余列.xlsx"

# 创建一个 Workbook 对象
workbook = Workbook()
# 加载一个 Excel 文件
workbook.LoadFromFile(input_file_path)
# 获取第一个工作表
worksheet = workbook.Worksheets[0]

# 调用 extract_columns() 函数,将第一个工作表中的1-3 列提取到一个新的 Excel 文件中
extract_columns(worksheet, 1, 3, output_file_path1)
# 调用 extract_columns() 函数,将第一个工作表中的剩余列提取到一个新的 Excel 文件中
extract_columns(worksheet, 4, len(worksheet.Columns), output_file_path2)

workbook.Dispose()

python 拆分excel,Python Excel,python,excel

Python按内容拆分Excel

如果一个Excel文件按照某种特定的内容进行分类,可以根据这些内容将文件拆分。举个例子,假如你有一个销售数据表,可以按照产品类别或地区将表格拆分成多个子文件,以便更方便地分析每个产品类别或地区的数据。

以下代码将一个Excel工作表按照特定数据进行拆分:

from spire.xls import Workbook, FileFormat, FindType, ExcelFindOptions

# 定义一个 extract_rows_by_value() 函数,用于根据特定值从 Excel 工作表中提取行到新的 Excel 文件中
def extract_rows_by_value(worksheet, value, output_file_path):
    # 创建一个新的工作簿用于提取的行
    new_workbook = Workbook()
    # 清除新工作簿中的默认工作表
    new_workbook.Worksheets.Clear()
    # 在新工作簿中添加一个新的工作表
    new_worksheet = new_workbook.Worksheets.Add("Sheet1")
    
    # 将源工作表中的标题行复制到新工作表中
    worksheet.Range[1, 1, 1, len(worksheet.Columns)].Copy(new_worksheet.Range[1, 1])

    # 查找包含特定字符串值的单元格
    ranges = worksheet.FindAll(value, FindType.Text, ExcelFindOptions.MatchEntireCellContent)
    
    i = 2
    # 遍历找到的单元格
    for range in ranges:
        # 获取包含单元格的行
        row = range.Row
        # 将行复制到新工作表中
        worksheet.Range[row, 1, row, len(worksheet.Columns)].Copy(new_worksheet.Range[i, 1])
        i += 1

    # 将新工作簿保存为新文件
    new_workbook.SaveToFile(output_file_path, FileFormat.Version2016)
    new_workbook.Dispose()

# 指定输入和输出文件路径
input_file_path = "销售数据.xlsx"
output_file_path1 = "Output/零部件.xlsx"
output_file_path2 = "Output/服装.xlsx"

# 创建一个 Workbook 对象
workbook = Workbook()
# 加载一个 Excel 文件
workbook.LoadFromFile(input_file_path)
# 获取第一个工作表
worksheet = workbook.Worksheets[0]

# 调用 extract_rows_by_value() 函数,将包含特定字符串值 "零部件" 的行提取到一个新的 Excel 文件中
extract_rows_by_value(worksheet, "零部件", output_file_path1)
# 调用 extract_rows_by_value() 函数,将包含特定字符串值 "服装" 的行提取到一个新的 Excel 文件中
extract_rows_by_value(worksheet, "服装", output_file_path2)
workbook.Dispose()

python 拆分excel,Python Excel,python,excel文章来源地址https://www.toymoban.com/news/detail-847813.html

到了这里,关于Python - Excel拆分详解(按工作表、行、列、内容拆分)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解决python workbook处理excel文件后打开报错问题:发现“.xlsx”中的部分内容有问题。是否让我们尽量尝试恢复?如果您信任此工作簿的源,请单击“是”。

    使用python workbook处理excel文件、保存后,再次打开提示: #发现“新建 Microsoft Excel 工作表.xlsx”中的部分内容有问题。是否让我们尽量尝试恢复?如果您信任此工作簿的源,请单击“是”。 #Excel 已完成文件级验证和修复。此工作簿的某些部分可能已被修复或丢弃。 #单击查看

    2024年02月11日
    浏览(50)
  • Pandas读取excel合并单元格的正确姿势(openpyxl合并单元格拆分并填充内容)

    在pandas读取excel经常会遇到合并单元格的问题。例如: 此时使用pandas读取到的内容为: 如果去百度,几乎所有人会说应该用如下代码: 这样看起来没问题,但是,该解决方案并不能适用于所有场景,甚至会造成数据错误。 例如: 对班级和备注填充后: 孙武空本来是数据缺

    2024年02月03日
    浏览(44)
  • python操作现有excel文件并修改其内容保存到excel文件

    最近需要实现一个功能,为了确保每次函数运行的时候count是唯一的,所以想读取excel中存储的icount,赋值完之后对其进行+1操作,并存入excel文件,确保下次读取的count是新的,没有出现过的。 具体实现 1、创建一个现有excel表,命名为test.xlsx,存储内容如下: 2、创建一个py文

    2024年02月11日
    浏览(39)
  • Python-使用openpyxl读取excel内容

    将下面的excel中的寄存器表单读入并构建一个字典 wb.sheetnames 会返回一个列表,列表中是每个工作表的名称,数据类型为str。执行上述代码后ws就是获取的工作表。 使用sheet.cell会返回cell对象,再使用cell.value才能返回单元格的值,执行上述代码的结果如下: 按行读取可以用

    2024年03月12日
    浏览(64)
  • 使用 Python 数据写入 Excel 工作表

    在数据处理和报告生成等工作中,Excel 表格是一种常见且广泛使用的工具。然而,手动将大量数据输入到 Excel 表格中既费时又容易出错。为了提高效率并减少错误,使用 Python 编程语言来自动化数据写入 Excel 表格是一个明智的选择。Python 作为一种简单易学且功能强大的编程

    2024年01月18日
    浏览(34)
  • 【Python】按升序排列 Excel 工作表

    发现按名称对 Excel 工作表进行排序很麻烦,因此创建了一个代码来使用 Python 的 openpyxl 对它们进行排序。 在GUI中指定一个Excel文件(使用Tkinter。这是一个标准模块,因此不需要安装) 加载Excel文件(使用openpyxl,由于它不是标准模块,如果没有安装,需要运行 pip install open

    2024年02月05日
    浏览(50)
  • Python向Excel写入内容的方法大全

    在数据处理和分析中,将Python中的数据写入Excel是一项常见任务。 本文将介绍几种常见的方法,以及如何使用它们向Excel中写入内容。 openpyxl 是一个功能强大的库,用于读写Excel文件。以下是一个简单的使用示例: pandas 是一个强大的数据处理库,也支持将数据写入Excel文件。

    2024年02月04日
    浏览(45)
  • 使用 Python 将数据写入 Excel 工作表

    在数据处理和报告生成等工作中,Excel 表格是一种常见且广泛使用的工具。然而,手动将大量数据输入到 Excel 表格中既费时又容易出错。为了提高效率并减少错误,使用 Python 编程语言来自动化数据写入 Excel 表格是一个明智的选择。Python 作为一种简单易学且功能强大的编程

    2024年02月01日
    浏览(42)
  • Python pandas在原有Excel中追加或重写sheet工作表

    想在excel中添加几个工作表来保存python得到的同一类型的多个阶段数据变量,非一次性保存,且是多次打开那种方式。 使用xlwt会覆盖掉以前的所有数据(且是通过遍历保存),看了好多帖子发现pandas可以实现我想要的功能,但是没有很直接的方法可以直接使用,且依然会覆盖

    2024年02月12日
    浏览(49)
  • 详解Python对Excel处理

    Excel是一种常见的电子表格文件格式,广泛用于数据记录和处理。Python提供了多个第三方库,可以方便地对Excel文件进行读写、数据操作和处理。本文将介绍如何使用Python对Excel文件进行处理,并提供相应的代码示例和详细说明。 在开始之前,我们需要安装一些Python第三方库,

    2024年02月15日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包