午夜视频在线网站,日韩视频精品在线,中文字幕精品一区二区三区在线,在线播放精品,1024你懂我懂的旧版人,欧美日韩一级黄色片,一区二区三区在线观看视频

分享

Python操作Excel的插入刪除行列,如何自動化?

 網(wǎng)摘文苑 2022-12-17 發(fā)布于新疆

帶你走進(jìn) @ 機(jī)器人時代

Discover 點擊上面藍(lán)色文字,關(guān)注我們

文章圖片1


Python
自動化操作單元格,每隔一行插入空白行,實現(xiàn)代碼如下:

from openpyxl import load_workbookwk = load_workbook('工資表.xlsx')ws = wk['工資表']#設(shè)置插入空白行的行數(shù)n = 1#獲取最大行數(shù)last_n = ws.max_row#循環(huán)處理插入空白行for i in range(0, last_n): #插入空白行 ws.insert_rows(i * (n + 1) + 3, n)wk.save('工資表1.xlsx')

我們來對比一下效果,執(zhí)行前:

文章圖片2

執(zhí)行后:

文章圖片3

如果你只是想在某一處插入1行或2行空白行,可以使用以下代碼:

from openpyxl import load_workbookwk = load_workbook('工資表.xlsx')ws = wk['工資表']ws.insert_rows(8, 2)wk.save('工資表1.xlsx')


這里我們指定了在第8行插入2行空白行,來看看效果:

文章圖片4

成功了!這是對表格添加行的操作,列的操作也是一樣的道理:

from openpyxl import load_workbookwk = load_workbook('工資表.xlsx')ws = wk ['工資表']#插入空白列ws.insert_cols(5, 1)wk .save('工資表1.xlsx')


上述代碼表示在第5列處插入一個空白列,我們來看看效果:

文章圖片5

如果我們希望刪除指定的行,也是很簡單的事情,我們來看看:

文章圖片6

紅色框內(nèi)的數(shù)據(jù)是我們想刪除的,看看代碼:

from openpyxl import load_workbookwk = load_workbook('工資表.xlsx')wt = wk['工資表']#刪除第五行wt.delete_rows(5, 1)wk.save('工資表1.xlsx')

運(yùn)行后,我們看看:

文章圖片7

第5行趙**的記錄被刪除了!刪除列的代碼如下:

from openpyxl import load_workbookwk = load_workbook('工資表.xlsx')wt = wk['工資表']#從第5列開始,刪除兩列wt.delete_cols(5, 2)wk.save('工資表1.xlsx')

大家可以自己測試一下,不過還有另外一個方法就是使用pandas的方法,代碼如下:

import pandas as pddata = pd.read_excel('工資表.xlsx', sheet_name=0)data.drop(columns=['績效工資', '社??劭?], inplace=True)data.to_excel('工資表1.xlsx', sheet_name='工資表', index=False)

大家可以自行測試一下。下面我們看看如何在表格中追加一條數(shù)據(jù):

import xlwings as xwapp = xw.App(visible=False, add_book=False)#設(shè)置要添加的數(shù)據(jù)n=['HS0009,劉備','¥2,200','¥1,200','¥2,000','¥400','¥100','¥4,900' ]#選定要操作的表格wk = app.books.open('工資表.xlsx')ws = wk.sheets['工資表']#讀取表格數(shù)據(jù)data = ws.range('A1').expand('table')#獲得表格數(shù)據(jù)條數(shù)num = data.shape[0]#追加記錄ws.range(num + 1, 1).value = n#保存關(guān)閉wk.save()wk.close()app.quit()

運(yùn)行后:

文章圖片8

這樣,我們就把新員工劉備的工資追加到最后一行了。那么有一張銷售工作表,我們希望根據(jù)利潤情況,追加一列數(shù)據(jù),并設(shè)置為等級:

import pandas as pddata = pd.read_excel('銷售表.xlsx', sheet_name=0)#獲取利潤列的數(shù)據(jù)max_data = data['利潤'].max()#根據(jù)數(shù)據(jù)作出比較level = [0, 5000, 10000, max_data]level_names = ['差', '良', '優(yōu)']#添加一列數(shù)據(jù),根據(jù)上面的結(jié)果,寫入數(shù)據(jù)data['等級'] = pd.cut(data['利潤'], level, labels=level_names)#寫入Excel表格data.to_excel('銷售表1.xlsx', sheet_name='總表', index=False)

我們來看看運(yùn)行后的效果:

文章圖片9

根據(jù)利潤情況,寫入相應(yīng)的等級。估計你一定沒有看懂,沒關(guān)系,我們將在下一期的文章里剖析一下。

繼續(xù)堅持學(xué)習(xí),每天都能進(jìn)步一點!??!

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多