網站首頁 編程語言 正文
關于excel多個sheet的導入導出
import pandas as pd
df = pd.read_excel('test.xlsx', sheet_name = None) # 導入一個excel中的所有sheet
df
導入的是一個字典類型數據,具體如下:
提取字典中的每個鍵值對:
chinese = df.get('語文成績')
math = df.get('數學成績')
math
查看其中一個變量,可以看出是一個數據框:
python導出多個數據框到同一個excel的不同sheet
# 將多個dataframe導入到同一個excel
writer = pd.ExcelWriter('score.xlsx',engine='xlsxwriter')
chinese.to_excel(writer, sheet_name = 'chinese', index = False)
math.to_excel(writer, sheet_name = 'math', index = False)
writer.save() # 此語句不可少,否則本地文件未保存
查看本地的當前路徑,可以得到一個score.xlsx的文件,其中有兩個sheet:
python復制Excel多個sheet到Excel表
由于工作需要,經常需要復制Excel多個sheet到Excel表,今天抽時間來實現它 利用python openpyxl庫實現, 將
目錄這2個文件復制到其他文件
話不多說,上代碼
from openpyxl import Workbook
from openpyxl import load_workbook
from openpyxl.writer.excel import ExcelWriter
# 導入字體、邊框、顏色以及對齊方式相關庫
from openpyxl.styles import Font, Border, Side, PatternFill, colors, Alignment
'''
該腳本用來拷貝paydroid平臺化文檔 到一個文檔
如果出現讀數據錯誤 記得將源文件【paydroid平臺化文檔】另存為一個Excel文檔
參考https://stackoverflow.com/questions/46150893/error-when-trying-to-use-module-load-workbook-from-openpyxl
源文件:src_paydroid.xlsx
目的文件:copy_fromPaydroid
2021-0930 國慶到了 補充將修改時間列復制到測試執行人
再次備注:親測 功能有效
'''
a = 0
b = []
state = [] # 狀態
typeinfo = [] # 類型
impact_model = [] # 影響機型
title = []
summary = []
test_recommendations = []
update_time = []
wb = load_workbook('C:\\Users\\liuw\\Desktop\\python\\src_paydroid.xlsx', data_only=True)
sheets=['1.12.0006','1.12.0005','1.12.0004']
for i in sheets:
ws = wb[i]
# print(ws.max_row) # 表行數
# print(ws.max_column) # 表列數
sheet = wb.active
a = ws.max_row
print('當前sheet.length', a)
i = 0
while i < a:
i = i + 1
if i<5:
continue
print(ws.cell(i, 1).value) # 表里的第1列 的數據
b.append(ws.cell(i, 1).value)
# b.insert(i, ws.cell(i, 1).value)
state.append(ws.cell(i, 3).value)
typeinfo.append(ws.cell(i, 5).value)
impact_model.append(ws.cell(i, 7).value)
title.append(ws.cell(i, 9).value)
summary.append(ws.cell(i, 10).value)
test_recommendations.append(ws.cell(i, 11).value)
update_time.append(ws.cell(i,4).value)
print('b.length', len(b))
print(b)
print("新寫入的Excel 總行:",len(b))
wbtest = load_workbook('C:\\Users\\liuw\\Desktop\\python\\copy_fromPaydroid.xlsx')
ws = wbtest['Sheet1']
ws.font = Font(u'微軟雅黑',size=12) #樣式功能 暫未實現
sheet = wb.active
i = 0
while i < len(b):
ws.cell(i + 3, 1).value = b[i] # 復制粘貼到 目的.xlsx 的第3行 第一列
ws.cell(i + 3, 2).value = state[i]
ws.cell(i + 3, 3).value = typeinfo[i]
ws.cell(i + 3, 4).value = impact_model[i]
ws.cell(i + 3, 5).value = title[i]
ws.cell(i + 3, 7).value = update_time[i]
ws.cell(i + 3, 8).value = summary[i]
ws.cell(i + 3, 10).value = test_recommendations[i]
i = i + 1
wbtest.save('C:\\Users\\liuw\\Desktop\\python\\copy_fromPaydroid.xlsx')
wbtest.close() # 關閉
最終效果
完美實現 親測可用?
總結
原文鏈接:https://blog.csdn.net/qq_44889022/article/details/118396858
相關推薦
- 2022-06-17 C#中IEnumerable接口介紹并實現自定義集合_C#教程
- 2022-08-18 C++詳解實現Stack方法_C 語言
- 2022-07-21 Python中直接賦值、淺拷貝和深拷貝的區別
- 2022-08-04 Python使用RPC例子_python
- 2022-06-28 C#反射調用dll文件中的方法操作泛型與屬性字段_C#教程
- 2022-07-30 注冊中心eureka的介紹及源碼探索
- 2022-11-17 有意思的數據結構默克樹?Merkle?tree應用介紹_其它綜合
- 2022-04-19 Python的進程間通信詳解_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支