日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

python關(guān)于excel多個(gè)sheet的導(dǎo)入導(dǎo)出方式_python

作者:此去何從 ? 更新時(shí)間: 2023-02-03 編程語言

關(guān)于excel多個(gè)sheet的導(dǎo)入導(dǎo)出

import pandas as pd
df = pd.read_excel('test.xlsx', sheet_name = None) # 導(dǎo)入一個(gè)excel中的所有sheet
df

導(dǎo)入的是一個(gè)字典類型數(shù)據(jù),具體如下:

提取字典中的每個(gè)鍵值對:

chinese = df.get('語文成績')
math = df.get('數(shù)學(xué)成績')
math

查看其中一個(gè)變量,可以看出是一個(gè)數(shù)據(jù)框:

python導(dǎo)出多個(gè)數(shù)據(jù)框到同一個(gè)excel的不同sheet

#  將多個(gè)dataframe導(dǎo)入到同一個(gè)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() # 此語句不可少,否則本地文件未保存

查看本地的當(dāng)前路徑,可以得到一個(gè)score.xlsx的文件,其中有兩個(gè)sheet:

python復(fù)制Excel多個(gè)sheet到Excel表

由于工作需要,經(jīng)常需要復(fù)制Excel多個(gè)sheet到Excel表,今天抽時(shí)間來實(shí)現(xiàn)它 利用python openpyxl庫實(shí)現(xiàn), 將

目錄這2個(gè)文件復(fù)制到其他文件

話不多說,上代碼

from openpyxl import Workbook
from openpyxl import load_workbook
from openpyxl.writer.excel import ExcelWriter
# 導(dǎo)入字體、邊框、顏色以及對齊方式相關(guān)庫
from openpyxl.styles import Font, Border, Side, PatternFill, colors, Alignment

'''
該腳本用來拷貝paydroid平臺化文檔 到一個(gè)文檔 
如果出現(xiàn)讀數(shù)據(jù)錯(cuò)誤 記得將源文件【paydroid平臺化文檔】另存為一個(gè)Excel文檔
 參考https://stackoverflow.com/questions/46150893/error-when-trying-to-use-module-load-workbook-from-openpyxl
源文件:src_paydroid.xlsx
目的文件:copy_fromPaydroid
2021-0930 國慶到了 補(bǔ)充將修改時(shí)間列復(fù)制到測試執(zhí)行人
再次備注:親測 功能有效 
'''
a = 0
b = []
state = []  # 狀態(tài)
typeinfo = []  # 類型
impact_model = []  # 影響機(jī)型
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)  # 表行數(shù)
    # print(ws.max_column)  # 表列數(shù)
    sheet = wb.active
    a = ws.max_row
    print('當(dāng)前sheet.length', a)
    i = 0
    while i < a:
        i = i + 1
        if i<5:
            continue
        print(ws.cell(i, 1).value)  # 表里的第1列 的數(shù)據(jù)
        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)  #樣式功能 暫未實(shí)現(xiàn)
sheet = wb.active
i = 0
while i < len(b):
    ws.cell(i + 3, 1).value = b[i]  # 復(fù)制粘貼到 目的.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()  # 關(guān)閉

最終效果

完美實(shí)現(xiàn) 親測可用?

總結(jié)

原文鏈接:https://blog.csdn.net/qq_44889022/article/details/118396858

欄目分類
最近更新