最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python如何通過openpyxl讀寫Excel文件

 更新時間:2023年10月07日 09:57:36   作者:檬檸wan  
python操作excel的庫有很多,有的庫只能讀取xsl格式,比如xlrd庫,有的庫只能寫xsl格式,比如xlwt庫,有的只能讀寫xslx格式,比如openpyxl庫,綜合各庫及 xslx 格式比較常見,所以本文主要講解openpyxl庫對xslx格式的excel操作,需要的朋友可以參考下

一、模塊安裝

openpyxl模塊可實現(xiàn)對excel文件的讀、寫和修改,使用之前需要先安裝該模塊。

# openpyxl生成的xlsx格式支持wps和office,xls格式只支持wps,使用office打開會報錯
pip install openpyxl

二、 使用方法

Excel演示內(nèi)容,整個Excel文件稱為工作簿,工作簿中的每個頁稱為工作表,工作表又由單元格組成。

1、新建Excel并寫入數(shù)據(jù)

import openpyxl
# 創(chuàng)建一個新的工作簿對象
wb = openpyxl.Workbook()
# 獲取工作表對象(sheet)
ws = wb.active
print(ws)
# 設(shè)置Sheet名稱
ws.title = '學生表'
# 創(chuàng)建一個新sheet,可以指定名稱,index表示新創(chuàng)建的工作簿放在第幾個位置, index從0開始計數(shù)
ws_1 = wb.create_sheet(index=1, title='成績表')
ws_2 = wb.create_sheet(index=2, title='科目表')
# 獲取所有工作表名稱
print(wb.sheetnames)
# 方法一:寫入單個單元格
ws['A1'] = '姓名'
ws['B1'] = '班級'
ws['c1'] = '年齡'
# 方法二:寫入單個單元格(行,列,內(nèi)容); 也可以直接ws.cell(1, 4, '學校')
ws.cell(row=1, column=4, value='學校')
# 寫入多個單元格(追加模式,不會覆蓋之前的,從有數(shù)據(jù)的下一行開始)
ws.append(['王明', '三年級一班', '9歲'])
# 第一列和第三列插入數(shù)據(jù),第二列插入[None]值
ws.append(['王五', None, '10歲'])
# 追加第二行數(shù)據(jù),過濾空值
# 獲取工作表總行數(shù)
max_row = ws.max_row
col_values = []
# 遍歷第二列所有行
for row in range(1, max_row+1):
    # 獲取當前單元格的值
    cell_value = ws.cell(row=row, column=2).value
    # 如果當前單元格的值不為空
    if cell_value is not None:
        # 將當前單元格的值添加到列表中
        col_values.append(cell_value)
print("第二列有 %d 行數(shù)據(jù)" % len(col_values))
ws.cell(len(col_values)+1, 2, "三年級二班")
# 將新數(shù)據(jù)追加到最后一行,忽略第二列
data = [['張三', '10歲'], ['李四', '15歲']]
for row in data:
    # 在第二列插入 None 值,實現(xiàn)跳過該列
    row.insert(1, None)
    ws.append(row)
# 保存
wb.save('1.xlsx')

2、讀取Excel數(shù)據(jù)

import openpyxl
# 獲取工作簿對象
wb = openpyxl.load_workbook('1.xlsx')
# 獲取所有工作表名稱
print(wb.sheetnames)
# 獲取工作表對象,三種方法
sheet1 = wb['學生表']
sheet2 = wb.worksheets[1]
sheet3 = wb[wb.sheetnames[2]]
print(sheet1, sheet2, sheet3)
# 獲取工作表名稱
title = sheet1.title
print(title)
# 獲取工作表總行數(shù)
rows = sheet1.max_row
# 獲取工作表總列數(shù)
cols = sheet1.max_column
# 總行,總列
print(rows, cols)
# 獲取某一單元格內(nèi)容(行, 列),例:2行1列,列表從1開始;也可以直接sheet1.cell(2, 1).value
cell = sheet1.cell(row=2, column=1).value
print(cell)
# 讀取第一行的所有內(nèi)容
row_list = []
for i in range(1, cols+1):
    cell_value = sheet1.cell(row=1, column=i).value
    row_list.append(cell_value)
print(row_list)
# 讀取第一列的所有內(nèi)容
column_list = []
for i in range(1, rows+1):
    cell_value = sheet1.cell(row=i, column=1).value
    column_list.append(cell_value)
print(column_list)
# 讀取第二列的所有內(nèi)容,不包含空值
col_values = []
# 遍歷第二列所有行
for i in range(1, rows+1):
    # 獲取當前單元格的值
    cell_value = sheet1.cell(row=i, column=2).value
    # 如果當前單元格的值不為空
    if cell_value is not None:
        # 將當前單元格的值添加到列表中
        col_values.append(cell_value)
print(col_values, len(col_values))

結(jié)果:

3、編輯Excel數(shù)據(jù)

import openpyxl
# 獲取工作簿對象
wb = openpyxl.load_workbook('1.xlsx')
# 獲取工作表對象
sheet = wb['學生表']
# 修改指定單元格內(nèi)容
sheet.cell(row=1, column=4, value='老師')
# 寫入多個單元格(追加模式,不會覆蓋之前的,從有數(shù)據(jù)的下一行開始)
sheet.append(['王五', '三年級二班', '10歲'])
# 復制"學生表",新sheet名稱為"學生表 Copy"
ws_2 = wb.copy_worksheet(wb['學生表'])
# 保存
wb.save('1.xlsx')

4、刪除Excel數(shù)據(jù)

import openpyxl
# 獲取工作簿對象
wb = openpyxl.load_workbook('1.xlsx')
# 選擇要刪除內(nèi)容的工作表和單元格(行, 列)
sheet1 = wb['學生表']
cell_to_delete = sheet1.cell(row=2, column=1)
# 刪除單元格內(nèi)容
cell_to_delete.value = None
# 刪除 成績表 工作表
del wb['成績表']
# 保存
wb.save('1.xlsx')

總結(jié) 

到此這篇關(guān)于python如何通過openpyxl讀寫Excel文件的文章就介紹到這了,更多相關(guān)python openpyxl讀寫Excel內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解如何在python中讀寫和存儲matlab的數(shù)據(jù)文件(*.mat)

    詳解如何在python中讀寫和存儲matlab的數(shù)據(jù)文件(*.mat)

    這篇文章主要介紹了詳解如何在python中讀寫和存儲matlab的數(shù)據(jù)文件(*.mat),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • Python安裝.whl文件流程以及問題解決方法

    Python安裝.whl文件流程以及問題解決方法

    WHL文件是以Wheel格式保存的Python安裝包,Wheel是Python發(fā)行版的標準內(nèi)置包格式,下面這篇文章主要給大家介紹了關(guān)于Python安裝.whl文件流程以及問題解決方法的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-05-05
  • python flask中動態(tài)URL規(guī)則詳解

    python flask中動態(tài)URL規(guī)則詳解

    今天小編就為大家分享一篇python flask中動態(tài)URL規(guī)則詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • python函數(shù)形參用法實例分析

    python函數(shù)形參用法實例分析

    這篇文章主要介紹了python函數(shù)形參用法,較為詳細的講述了Python函數(shù)形參的功能、定義及使用技巧,需要的朋友可以參考下
    2015-08-08
  • Python3實現(xiàn)取圖片中特定的像素替換指定的顏色示例

    Python3實現(xiàn)取圖片中特定的像素替換指定的顏色示例

    這篇文章主要介紹了Python3實現(xiàn)取圖片中特定的像素替換指定的顏色,涉及Python3針對圖片文件的讀取、轉(zhuǎn)換、生成等相關(guān)操作技巧,需要的朋友可以參考下
    2019-01-01
  • 一篇文章帶你學習Python3的高級特性(2)

    一篇文章帶你學習Python3的高級特性(2)

    這篇文章主要為大家詳細介紹了Python3的高階函數(shù),主要介紹什么是高級特性,高級特性的用法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Python編程實現(xiàn)小姐姐跳舞并生成詞云視頻示例

    Python編程實現(xiàn)小姐姐跳舞并生成詞云視頻示例

    本文用Python做了一個詞云視頻,以另一種角度來看小姐姐跳舞視頻左半部分是小姐姐跳舞視頻,右半部分是根據(jù)動作生成的的詞云視頻,有需要的朋友可以借鑒參考下
    2021-10-10
  • Python unittest單元測試框架及斷言方法

    Python unittest單元測試框架及斷言方法

    這篇文章主要介紹了Python unittest單元測試框架及斷言方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • 如何運用python讀寫CSV文件

    如何運用python讀寫CSV文件

    本文通過講解使用基礎(chǔ)Python代碼來讀寫和處理CSV文件,點進來的小伙伴一起來學習吧
    2021-08-08
  • 詳解Python?Requests庫中的重試策略

    詳解Python?Requests庫中的重試策略

    在Python中,requests庫是處理HTTP請求的標準工具之一,這篇文章主要為大家介紹了如何在requests中實現(xiàn)請求的自動重試,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-11-11

最新評論

淮南市| 通渭县| 嵊泗县| 石城县| 凤庆县| 卓尼县| 武山县| 和田县| 巴东县| 锦屏县| 大丰市| 广饶县| 汉寿县| 永仁县| 黔西县| 通辽市| 贵定县| 淳安县| 孝感市| 民丰县| 安图县| 西城区| 秭归县| 新郑市| 乐陵市| 兴业县| 开封县| 汪清县| 阿瓦提县| 哈尔滨市| 原平市| 墨玉县| 兴文县| 公主岭市| 河北区| 凤冈县| 肥东县| 正宁县| 博白县| 景宁| 利川市|