国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【openpyxl】python處理excel——?jiǎng)h除指定行

這篇具有很好參考價(jià)值的文章主要介紹了【openpyxl】python處理excel——?jiǎng)h除指定行。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

本文給出了用openpyxl刪除excel滿足指定條件的行或列的正確示范,同時(shí)給出了一些網(wǎng)絡(luò)資料的常見(jiàn)錯(cuò)誤供讀者參考

1.正確示范?

  • 因?yàn)樾枰獎(jiǎng)h除的行數(shù)不固定,正確示范應(yīng)該采用while循環(huán)來(lái)遍歷excel表,方便刪除操作,網(wǎng)絡(luò)上很多教程采用for循環(huán),存在循環(huán)過(guò)程中行號(hào)改變的錯(cuò)誤

  • 以下例子的功能為刪除第五列為 True 的行,使用時(shí)需自行按照需求自行更改行列值和判斷條件

from openpyxl import Workbook, load_workbook
excel_path = 'xxxx.xsl'
wb = load_workbook(excel_path)
ws=wb.active
max_row_num = ws.max_row #最大行數(shù)
i = 0
#以下例子的功能為刪除第五列為 xxx 的行,使用時(shí)需自行按照需求自行更改行列值和判斷條件
row_n = 1 #起始行
col_n = 5 #目標(biāo)列
while i < max_row_num:
    if ws.cell(row=row_n,column=col_n).value == 'xxx':
        ws.delete_rows(row_n)
    else:
        # print(ws.cell(row=row_n,column=5).value,row_n,sep='\t')
        row_n+=1
    i+=1
wb.save(filename='xxxx.xlsx')
wb.close    

思路二:

  • 先遍歷一遍把要?jiǎng)h除的行號(hào)記錄下來(lái)
  • 然后采用逆序刪除,先刪除行號(hào)大的,從下往上刪
from openpyxl import load_workbook

# 基于ws刪除一些行和一些列,注意沒(méi)有備份,
def del_ws_rows_cols(ws, rowd, cold):  # 刪除一些行和一些列,此程序不含保存操作。
    """基于ws刪除一些行和一些列
    要?jiǎng)h的行序數(shù)放在rowd表格中,要?jiǎng)h的列序數(shù)放在cold表格中
    本程序的關(guān)鍵是刪除的行或列序數(shù)都必須是從大的開(kāi)始刪除,這樣才不會(huì)亂序"""
    # wb = load_workbook(flname)
    # ws = wb[sheetname]   
    rowd = sorted(rowd, reverse=True)  # 確保大的行數(shù)首先刪除
    cold = sorted(cold, reverse=True)  # 確保大的列數(shù)首先刪除
    for r in rowd:                     # rowd格式如:[1,3,5],表示要?jiǎng)h除第1、3、5共三行。
        ws.delete_rows(r)
    for c in cold:                     # cold格式如:[2,6,10],表示要?jiǎng)h除第2、6、10共三列
        ws.delete_cols(c)
    wb.save(flname)  # 記得要保存。


# 基于文件名和表格名刪除一些行和一些列,注意沒(méi)有備份。
# flsh是指文件名flname和表格名sheetname
def del_flsh_rows_cols(flname, sheetname, rowd, cold):  # 基于文件名和表格名刪除一些行和一些列
    """基于文件名和表格名刪除一些行和一些列
    要?jiǎng)h的行序數(shù)放在rowd表格中,要?jiǎng)h的列序數(shù)放在cold表格中
    本程序的關(guān)鍵是刪除的行或列序數(shù)都必須是從大的開(kāi)始刪除,這樣才不會(huì)亂序"""
    wb = load_workbook(flname)
    ws = wb[sheetname]
    rowd = sorted(rowd, reverse=True)
    cold = sorted(cold, reverse=True)
    for r in rowd:
        ws.delete_rows(r)
    for c in cold:
        ws.delete_cols(c)
    wb.save(flname)  # 記得要保存。

2.錯(cuò)誤示范?

錯(cuò)誤示范一:

#coding:utf-8
import openpyxl
wb=openpyxl.load_workbook(filename='xxxxxx.xlsx')
ws=wb.active
for i in range(1,ws.max_row,1): #從第一行開(kāi)始到最后一行逐行進(jìn)行
    if ws.cell(row=i,column=1).value=='序號(hào)': #如果該行第一列值為‘序號(hào)’
        ws.delete_rows(i) #則刪除該行
        print('刪除第-',i,'-行成功!')
wb.save(filename='yyyyyyy.xlsx')

錯(cuò)誤示范二:

#coding:utf-8
import openpyxl
wb=openpyxl.load_workbook(filename='xxxxxx.xlsx')
ws=wb.active
row_number=0
for row in ws.iter_rows():#迭代遍歷每行
    if row[1].value=='序號(hào)':#給定的條件,讀者可根據(jù)自身需求自定義
        row_number=row[1].row#關(guān)鍵步驟!獲得當(dāng)前行的行號(hào)!
        ws.delete_rows(row_number)
wb.save(filename='yyyyyyy.xlsx')
wb.close

這兩種錯(cuò)誤示范都是用了for循環(huán),在遍歷的過(guò)程中因?yàn)閯h除導(dǎo)致行號(hào)改變了,而遍歷的行號(hào)仍然按照原始數(shù)據(jù)的行號(hào),導(dǎo)致有部分?jǐn)?shù)據(jù)被跳過(guò)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-529117.html

到了這里,關(guān)于【openpyxl】python處理excel——?jiǎng)h除指定行的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • python 使用 openpyxl 處理 Excel 教程

    python 使用 openpyxl 處理 Excel 教程

    python 操作excel 的庫(kù)有很多 ,有的庫(kù)只能讀取 xsl 格式,比如 xlrd 庫(kù); 有的庫(kù)只能寫(xiě) xsl 格式,比如 xlwt 庫(kù); 有的只能讀寫(xiě) xslx 格式,比如 openpyxl 庫(kù) 。 綜合各庫(kù)及 xslx 格式比較常見(jiàn),所以本文主要講解 openpyxl 庫(kù)對(duì) xslx 格式的 excel 操作。 例如當(dāng)使用 Pyramid, Flask 或 Django 等 we

    2024年02月10日
    瀏覽(41)
  • 輕松學(xué)會(huì)Python--openpyxl庫(kù),處理Excel有如神助

    輕松學(xué)會(huì)Python--openpyxl庫(kù),處理Excel有如神助

    Excel是Windows環(huán)境下流行的、強(qiáng)大的電子表格應(yīng)用。無(wú)論是在工作中還是學(xué)習(xí)中。我們幾乎都在不間斷的使用Excel來(lái)記錄或處理一些數(shù)據(jù)。例如:可能有一個(gè)無(wú)聊的任務(wù),需要從一個(gè)電子表格拷貝數(shù)據(jù),粘貼到另一表格。 或者可能需要從幾千上萬(wàn)行中挑選幾行,根據(jù)各種條件稍

    2024年02月19日
    瀏覽(21)
  • openpyxl隱藏/刪除excel某一列

    openpyxl隱藏/刪除excel某一列

    openpyxl 隱藏某一列的方法為: openpyxl 刪除某一列的方法為: 注意:openpyxl盡量使用隱藏而非刪除,因?yàn)閯h除某一列在存在有合并單元格的操作時(shí),會(huì)出現(xiàn)合并單元格的相對(duì)位置不會(huì)發(fā)生變化,從而導(dǎo)致數(shù)據(jù)發(fā)生偏移的問(wèn)題,而隱藏某一列不會(huì)出現(xiàn)這個(gè)問(wèn)題 原始的 測(cè)試excel.

    2024年02月21日
    瀏覽(23)
  • python對(duì)excel刪除指定行

    可以使用Python的第三方庫(kù)pandas來(lái)操作Excel文件。 首先,需要使用pandas的read_excel()函數(shù)讀取Excel文件: 然后,可以使用df.drop()函數(shù)刪除指定行: 最后,使用df.to_excel()函數(shù)將修改后的數(shù)據(jù)寫(xiě)回到Excel文件中: 注意,刪除操作是直接在原數(shù)據(jù)上進(jìn)行的,如果希望保留原數(shù)據(jù)的話,

    2024年02月12日
    瀏覽(19)
  • Python:使用openpyxl讀取Excel文件轉(zhuǎn)為json數(shù)據(jù)

    Python:使用openpyxl讀取Excel文件轉(zhuǎn)為json數(shù)據(jù)

    openpyxl - A Python library to read/write Excel 2010 xlsx/xlsm files 文檔 https://openpyxl.readthedocs.io/en/stable/ https://pypi.org/project/openpyxl/ 安裝 環(huán)境 讀取文件示例:將Excel文件讀取為json數(shù)據(jù) 有如下一個(gè)文件 data.xlsx 實(shí)現(xiàn)代碼 輸出讀取的json數(shù)據(jù) 讀寫(xiě)示例

    2024年02月15日
    瀏覽(34)
  • python: openpyxl操作Excel

    想要在文件中插入圖片文件,需要安裝pillow,安裝文件:PIL-fork-1.1.7.win-amd64-py2.7.exe · font(字體類):字號(hào)、字體顏色、下劃線等 · fill(填充類):顏色等 · border(邊框類):設(shè)置單元格邊框 · alignment(位置類):對(duì)齊方式 · number_format(格式類):數(shù)據(jù)格式 · protection(保護(hù)類):寫(xiě)保護(hù)

    2024年02月08日
    瀏覽(25)
  • python—openpyxl操作excel詳解

    python—openpyxl操作excel詳解

    openpyxl屬于第三方模塊,在python中用來(lái)處理excel文件。 可以對(duì)excel進(jìn)行的操作有:讀寫(xiě)、修改、調(diào)整樣式及插入圖片等。 但只能用來(lái)處理【?.xlsx】?后綴的excel文件。 使用前需要先安裝,安裝方法: 注: 一個(gè)excel文件可看做是一個(gè)工作簿,工作簿中的一個(gè)Sheet就是一個(gè)工作表

    2024年02月04日
    瀏覽(25)
  • python基于openpyxl操作excel

    環(huán)境: python3.11 系統(tǒng): ubuntu20.04 使用依賴: openpyxl 跳轉(zhuǎn)官網(wǎng) 2.1 創(chuàng)建工作簿 工作簿至少要包含一個(gè)工作表(sheet), 可以使用如下來(lái)獲取它 也可以創(chuàng)建自定義名稱的工作表 2.2 查看工作簿下的所有工作表 2.3 訪問(wèn)/修改某個(gè)單元格數(shù)據(jù) 比如說(shuō)修改A1單元格位置的參數(shù) 2.4 保存為文件 2

    2024年02月20日
    瀏覽(24)
  • Python-使用openpyxl讀取excel內(nèi)容

    Python-使用openpyxl讀取excel內(nèi)容

    將下面的excel中的寄存器表單讀入并構(gòu)建一個(gè)字典 wb.sheetnames 會(huì)返回一個(gè)列表,列表中是每個(gè)工作表的名稱,數(shù)據(jù)類型為str。執(zhí)行上述代碼后ws就是獲取的工作表。 使用sheet.cell會(huì)返回cell對(duì)象,再使用cell.value才能返回單元格的值,執(zhí)行上述代碼的結(jié)果如下: 按行讀取可以用

    2024年03月12日
    瀏覽(24)
  • python_通過(guò)openpyxl讀寫(xiě)Excel

    python_通過(guò)openpyxl讀寫(xiě)Excel

    openpyxl模塊可實(shí)現(xiàn)對(duì)excel文件的讀、寫(xiě)和修改,使用之前需要先安裝該模塊。 Excel演示內(nèi)容,整個(gè)Excel文件稱為工作簿,工作簿中的每個(gè)頁(yè)稱為工作表,工作表又由單元格組成。 結(jié)果:

    2024年02月11日
    瀏覽(26)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包