【Python如何將EXCEL拆分】

文章目錄

    • Python將一個EXCEL表拆分多個excel表
    • Python將一個EXCEL表中一個sheet拆分多個sheet表

Python將一個EXCEL表拆分多個excel表

在Python中,你可以使用pandas庫來讀取Excel文件,并將一個大的Excel表格(工作表)拆分成多個單獨的Excel文件。這通常基于某些條件,比如基于某列的唯一值或者按照行數的固定分割。

以下是一個基于某列唯一值來拆分Excel工作表的示例:

  1. 首先,你需要安裝pandasopenpyxl(用于讀寫Excel文件):
pip install pandas openpyxl
  1. 使用Python腳本拆分Excel文件:
import pandas as pd# 讀取原始Excel文件
original_file = 'original.xlsx'
sheet_name = 'Sheet1'  # 假設你要拆分的工作表名稱是'Sheet1'
df = pd.read_excel(original_file, sheet_name=sheet_name)# 選擇你要根據哪一列的唯一值來拆分工作表
split_column = 'column_to_split_by'  # 替換為你的列名
unique_values = df[split_column].unique()# 遍歷唯一值并保存每個子DataFrame到新的Excel文件
for value in unique_values:# 篩選數據sub_df = df[df[split_column] == value]# 構造新的文件名new_file = f'split_{value}.xlsx'# 寫入新的Excel文件with pd.ExcelWriter(new_file, engine='openpyxl') as writer:sub_df.to_excel(writer, index=False, sheet_name=sheet_name)print(f'Split into {len(unique_values)} files.')

在這個示例中,split_column是你希望根據其唯一值來拆分工作表的列的名稱。unique_values是一個包含該列所有唯一值的列表。然后,腳本遍歷這些唯一值,對于每個唯一值,它篩選出原始DataFrame中對應的行,并將這些行保存到一個新的Excel文件中。

請注意,這個示例假設你的原始Excel文件使用的是.xlsx格式,并且你希望保存拆分后的文件也為.xlsx格式。此外,如果你需要拆分的工作表不是第一個工作表(即不是’Sheet1’),你需要將sheet_name變量的值更改為正確的工作表名稱。

如果你想要按照行數的固定分割來拆分工作表(例如,每100行一個文件),你可以稍微修改上面的腳本,使用range(0, len(df), 100)來迭代行索引,并使用.iloc來切片DataFrame。

Python將一個EXCEL表中一個sheet拆分多個sheet表

可以使用pandas結合openpyxlxlsxwriter來實現。但是,由于pandasExcelWriter在寫入時不支持在同一個Excel文件中添加多個工作表(除非你一次寫入所有工作表),需要使用openpyxlxlsxwriter來手動操作Excel文件。

以下是一個使用pandasopenpyxl來拆分一個工作表到多個工作表的示例:

import pandas as pd
from openpyxl import load_workbook# 讀取原始Excel文件
original_file = 'original.xlsx'
sheet_name_to_split = 'Sheet1'  # 要拆分的工作表名稱# 使用pandas讀取工作表
df = pd.read_excel(original_file, sheet_name=sheet_name_to_split)# 假設你根據某列的值(例如'group_column')來拆分工作表
# 也可以根據需要使用其他邏輯,比如按行數拆分
groups = df['group_column'].unique()# 加載已存在的Excel文件以添加新的工作表
book = load_workbook(original_file)
writer = pd.ExcelWriter(original_file, engine='openpyxl') 
writer.book = book# 遍歷每個組并將數據寫入新的工作表
for group in groups:# 篩選數據sub_df = df[df['group_column'] == group]# 寫入新的工作表,如果工作表已存在則先刪除if group in book.sheetnames:book.remove(book[group])sub_df.to_excel(writer, sheet_name=group, index=False)# 保存Excel文件
writer.save()

在這個示例中,我們首先加載了原始的Excel文件,并使用pandas讀取了要拆分的工作表。然后,我們根據某個列的唯一值將數據拆分成多個DataFrame。接下來,我們使用openpyxl加載原始的Excel工作簿,并遍歷每個組。對于每個組,我們檢查是否存在同名的工作表,如果存在則刪除它,然后將篩選后的數據寫入新的工作表。最后,我們保存了修改后的Excel文件。

請注意,這個示例會直接修改原始的Excel文件。如果你不希望修改原始文件,你可以將結果保存到一個新的Excel文件中。此外,如果你的數據量很大,或者拆分后的工作表很多,這個操作可能會比較耗時,因為它需要在內存中處理整個Excel文件。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/21202.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/21202.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/21202.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Writerside生成在線幫助文檔或用戶手冊軟件基礎使用教程

Writerside是JetBrains出的一個技術文檔工具,既能用在JetBrains IDE上,也能單獨用。它能幫你輕松寫、建、測、發技術文檔,像產品說明、API參考、開發指南等都能搞定。 特點: 文檔即代碼:它讓你像管代碼一樣管文檔&…

【大數據Spark】常見面試題(萬字!建議收藏)

文章目錄 入門級中等難度中高級難度數據傾斜解決方法 入門級 什么是Apache Spark?它與傳統的MapReduce有何不同? Apache Spark是一個開源的分布式計算系統,它提供了高效的數據處理和分析能力。與傳統的MapReduce相比,Spark具有更快…

海光CPU:國產信創的“芯“動力解讀

國產信創CPU-海光CPU CPU:信創根基,國之重器 國產CPU形成三大陣營:自主架構、x86及ARM。自主陣營中,龍芯和申威以LoongArch和SW-64為基石;ARM陣營由鯤鵬、飛騰主導,依托ARM授權研發處理器;x86陣…

紅帽練習 之邏輯卷 pv lv gv

邏輯卷習題 1 在/dev/sdb 存儲設備上創建物理設備分區 創建2個大小各為256MB的分區 并設置為linux lvm類型 使用first 和second 作為這些分區的名稱 parted /dev/sdb mklabel gpt parted /dev/sdb primary mkpart first 1M 256M parted /dev/sdb set 1 …

【Linux|數據恢復】extundelete和ext4magic數據恢復工具使用

環境:Centos7.6_x86 一、extundelete工具 1、extundelete介紹 Extundelete 是一個數據恢復工具,用于從 ext3 或 ext4 分區中恢復刪除文件。根據官網0.2.4版本介紹是支持ext4,但實際上使用發現ext4格式有些問題,會報以下錯誤&…

動態SQL IF語句

IF語句學習 第一種寫法(標準) 我們先來看以下標準寫法: select * from .. <where> <if test""> and ....... <if test""> and ....... <where> 我們用了一個where標簽 , 內嵌if語句 第二種寫法: 這是第二種寫法:不用where標…

大降分!重郵計算機專碩復試線大降50分!重慶郵電計算機考研考情分析!

重慶郵電大學&#xff08;Chongqing University of Posts and Telecommunications&#xff09;簡稱重郵&#xff0c;坐落于中國重慶市主城區南山風景區內&#xff0c;是中華人民共和國工業和信息化部與重慶市人民政府共建的教學研究型大學&#xff0c;入選國家“中西部高校基礎…

一篇文章搞懂Go語言切片底層原理(圖文并茂+舉例講解)

1. 切片和數組的底層關系 Go語言切片的數據結構是一個結構體&#xff1a; type slice struct {array unsafe.Pointerlen intcap int }Go語言中切片的內部結構包含地址、大小和容量。將數組比喻成一個蛋糕&#xff0c;那么切片就是需要切的那一塊&#xff0c;而那一塊的的…

c++學生管理系統

想要實現的功能 1&#xff0c;可以增加學生的信息&#xff0c;包括&#xff08;姓名&#xff0c;學號,c成績&#xff0c;高數成績&#xff0c;英語成績&#xff09; 2&#xff0c;可以刪除學生信息 3&#xff0c;修改學生信息 4&#xff0c;顯示所有學生信息 5&#xff0c…

支持AMD GPU的llm.c

anthonix/llm.c: LLM training in simple, raw C/HIP for AMD GPUs (github.com) llm.c for AMD devices This is a fork of Andrej Karpathys llm.c with support for AMD devices. 性能 在單個7900 XTX顯卡上使用默認設置&#xff0c;目前的訓練步驟耗時約為79毫秒&#x…

Docker的安裝、啟動和配置鏡像加速

前言&#xff1a; Docker 分為 CE 和 EE 兩大版本。CE 即社區版&#xff08;免費&#xff0c;支持周期 7 個月&#xff09;&#xff0c;EE 即企業版&#xff0c;強調安全&#xff0c;付費使用&#xff0c;支持周期 24 個月。 而企業部署一般都是采用Linux操作系統&#xff0c;而…

【軟件設計師】2022年上半年真題解析

??馮諾依曼計算機體系結構的基本特點是&#xff1a; A. 程序指令和數據都采用二進制表示 - 這是正確的&#xff0c;因為馮諾依曼架構下的計算機使用二進制形式來表示和處理所有信息&#xff0c;包括指令和數據。 B. 程序指令總是存儲在主存中&#xff0c;而數據則存儲在高速…

Java基礎語法詳解——入門學習教程

Java 基礎 目錄 一、數據類型 基本類型包裝類型緩存池 二、String 概覽不可變的好處String, StringBuffer and StringBuilder String Poolnew String(“abc”) 三、運算 參數傳遞float 與 double隱式類型轉換switch 四、關鍵字 finalstatic 五、Object 通用方法 概覽equals()ha…

深入解析 MongoDB Map-Reduce:強大數據聚合與分析的利器

Map-Reduce 是一種用于處理和生成大數據集的方法&#xff0c;MongoDB 支持 Map-Reduce 操作以執行復雜的數據聚合任務。Map-Reduce 操作由兩個階段組成&#xff1a;Map 階段和 Reduce 階段。 基本語法 在 MongoDB 中&#xff0c;可以使用 db.collection.mapReduce() 方法執行…

IsoBench:多模態基礎模型性能的基準測試與優化

隨著多模態基礎模型的快速發展&#xff0c;如何準確評估這些模型在不同輸入模態下的性能成為了一個重要課題。本文提出了IsoBench&#xff0c;一個基準數據集&#xff0c;旨在通過提供多種同構&#xff08;isomorphic&#xff09;表示形式的問題&#xff0c;來測試和評估多模態…

算法(十三)回溯算法---N皇后問題

文章目錄 算法概念經典例子 - N皇后問題什么是N皇后問題&#xff1f;實現思路 算法概念 回溯算法是類似枚舉的深度優先搜索嘗試過程&#xff0c;主要是再搜索嘗試中尋找問題的解&#xff0c;當發生不滿足求解條件時&#xff0c;就會”回溯“返回&#xff08;也就是遞歸返回&am…

enum4linux一鍵查詢SMB信息(KALI工具系列十六)

目錄 1、KALI LINUX簡介 2、enum4linux工具簡介 3、在KALI中使用enum4linux 3.1 目標主機IP&#xff08;win&#xff09; ?編輯 3.2 KALI的IP 4、操作示例 4.1 運行工具 4.2 列出用戶名 4.3 提取用戶名 4.4 使用自定義RID范圍 4.5 列出組 4.6 列出共享文件夾 4.7…

【筆記小記】掌握市場脈動:全營銷解決方案的力量

前面雖然說了這個模型&#xff0c;而且是分章說的&#xff0c;那么在此以筆記小記的形式再說一下&#xff0c;企業面臨的挑戰與日俱增&#xff0c;消費者需求的多樣化、技術的不斷進步、全球化的深入以及社會責任的日益重要&#xff0c;這些因素共同塑造了市場的現狀和未來&…

網絡監聽技術

網絡監聽技術 網絡監聽概述網絡監聽環境 流量劫持網絡環境共享式網絡監聽原理交換式網絡監聽交換機的工作方式交換網絡監聽&#xff1a;交換機集線器交換網絡監聽&#xff1a;端口鏡像交換網絡監聽&#xff1a;MAC洪泛交換網絡監聽&#xff1a;MAC洪泛交換網絡監聽&#xff1a;…

【Unix】消息類的格式與使用

本文給出一個MacOS操作系統中的消息類的使用過程示例&#xff08;結合gencat命令&#xff0c;<nl_types.h>頭文件以及catopen,catgets,catclose3個函數&#xff09; 首先根據對應的操作系統&#xff0c;查看gencat命令 man gencat 可以詳細看到其中對于輸入文件&#x…