0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Python利用openpyxl讀寫Excel文件

jf_GctfwYN7 ? 來源: 數(shù)字ICer ? 2023-12-16 11:27 ? 次閱讀

Python利用openpyxl讀取Excel文件

使用wb.active屬性選擇默認工作表或者使用wb['工作表名稱']選擇指定名稱的工作表。

讀取多個單元格:可以使用for循環(huán)遍歷單元格,或者使用sheet.iter_rows()或sheet.iter_cols()函數(shù)來讀取多個單元格的值。

#遍歷單元格
forrowinsheet.rows:
forcellinrow:
print(cell.value)

#使用iter_rows()函數(shù)讀取多個單元格
forrowinsheet.iter_rows(min_row=1,max_col=3,max_row=2):
forcellinrow:
print(cell.value)

#使用iter_cols()函數(shù)讀取多個單元格
forcolumninsheet.iter_cols(min_row=1,max_col=3,max_row=2):
forcellincolumn:
print(cell.value)
當存在空白單元格或None時,可以使用以下方式將None值轉(zhuǎn)換為空字符串:
forrowinsheet.rows:
forcellinrow:
ifcell.valueisNone:
cell.value=""
上述代碼會遍歷工作表中的所有單元格,將值為None的單元格賦值為空字符串。 下面是一個簡單讀取Excel文件的例子:
importopenpyxl

wb=openpyxl.load_workbook('test.xlsx')
sheet=wb.active#選擇默認工作表
#sheet=wb['test1']#選擇名為'test1'的工作表

#None值轉(zhuǎn)換為空字符串
forrowinsheet.rows:
forcellinrow:
ifcell.valueisNone:
cell.value=""

#遍歷所有單元格的值
forrowinsheet.rows:
forcellinrow:
print(cell.value,end="	")
print()
wb.close()

運行結(jié)果如下:

17de4760-9b36-11ee-8b88-92fbcf53809c.png

利用openpyxl寫入Excel文件

使用openpyxl模塊創(chuàng)建一個新的工作簿,并選擇默認的工作表,workbook=openpyxl.Workbook()中“W”需要大寫。

importopenpyxl

workbook=openpyxl.Workbook()
worksheet=workbook.active
worksheet.title="test1"

#寫入的數(shù)據(jù)
Name=['Tom','Lily']
Age=['25','23']
Project=['Name','Age']

#寫入第一行數(shù)據(jù),行號和列號都從1開始計數(shù)
foriinrange(len(Project)):
worksheet.cell(1,i+1,Project[i])

#寫入第一列數(shù)據(jù),因為第一行已經(jīng)有數(shù)據(jù)了,i+2
foriinrange(len(Name)):
worksheet.cell(i+2,1,Name[i])

#寫入第二列數(shù)據(jù)
foriinrange(len(Age)):
worksheet.cell(i+2,2,Age[i])

workbook.save(filename='openpyxl_write.xlsx')


17f3ed18-9b36-11ee-8b88-92fbcf53809c.png

Python中用openpyxl,pandas,xlrd和xlwt的區(qū)別:

這些庫都是Python中用于處理Excel的工具,但是它們之間存在一些不同之處。 openpyxl:openpyxl是用于讀取和寫入Excel 2010(xlsx/xlsm/xltx/xltm)格式Excel的Python庫。它可以讀取、修改和保存Excel文件,支持Excel文件的樣式、公式和圖表。此外,它還支持大型Excel和工作簿,并提供了許多高級功能,如命名區(qū)域、數(shù)據(jù)透視表和圖表。 pandas:Pandas是一個Python數(shù)據(jù)分析庫,可以處理各種數(shù)據(jù)集,包括Excel。它可以讀取和寫入Excel、CSV和SQL等格式的數(shù)據(jù),具有強大的數(shù)據(jù)處理、轉(zhuǎn)換和分析功能。Pandas可以將Excel數(shù)據(jù)轉(zhuǎn)換為數(shù)據(jù)框(DataFrame),并使用Pandas的數(shù)據(jù)分析工具對其進行操作。 xlrd:xlrd是一個Python庫,用于讀取Excel的數(shù)據(jù)。它支持讀取Excel 2003及之前版本的.xls文件,但不支持寫入文件。xlrd提供了一種簡單的方式來讀取Excel中的數(shù)據(jù)和元數(shù)據(jù),如單元格的格式、樣式和公式等。 xlwt:xlwt是一個Python庫,用于寫入Excel 2003及之前版本的.xls文件。它可以創(chuàng)建新的Excel表格,或修改現(xiàn)有的Excel表格。xlwt支持設置單元格的格式、樣式和公式等。


所以,如果要讀取或?qū)懭隕xcel 2010及之后版本的Excel表格,可以使用openpyxl;

如果需要進行數(shù)據(jù)分析和轉(zhuǎn)換,可以使用Pandas;

如果要讀取Excel 2003及之前版本的Excel表格,可以使用xlrd;

如果要創(chuàng)建或修改Excel 2003及之前版本的Excel表格,可以使用xlwt。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 文件
    +關注

    關注

    1

    文章

    561

    瀏覽量

    24671
  • Excel
    +關注

    關注

    4

    文章

    217

    瀏覽量

    55424
  • 函數(shù)
    +關注

    關注

    3

    文章

    4277

    瀏覽量

    62323
  • 代碼
    +關注

    關注

    30

    文章

    4722

    瀏覽量

    68234
  • python
    +關注

    關注

    55

    文章

    4767

    瀏覽量

    84375

原文標題:Python利用openpyxl讀寫Excel文件

文章出處:【微信號:IC修真院,微信公眾號:IC修真院】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Python利用pandas讀寫Excel文件

    使用pandas模塊讀取Excel文件可以更為方便和快捷。pandas可以將Excel文件讀取為一個DataFrame對象,方便進行數(shù)據(jù)處理和分析。
    的頭像 發(fā)表于 12-16 11:22 ?1246次閱讀
    <b class='flag-5'>Python</b><b class='flag-5'>利用</b>pandas<b class='flag-5'>讀寫</b><b class='flag-5'>Excel</b><b class='flag-5'>文件</b>

    labview 編寫的EXCEL文件讀寫示例

    labview 編寫的EXCEL文件讀寫示例 8.6版的
    發(fā)表于 12-16 10:38

    基于python讀取excel表格

    Python利用python讀取excel表格的那些七七八八事
    發(fā)表于 12-28 14:23

    請問如何使用openpyxl模塊來“寫”Excel文件

    使用openpyxl模塊來“寫”Excel文件
    發(fā)表于 11-10 07:31

    Excel讀寫控件安裝

    這是一個EXCEL讀寫控件,該Excel讀寫控件采用直接分析Excel文件格式的方法,可以獲取
    發(fā)表于 03-22 17:39 ?11次下載

    老板給我一批Excel文檔都有密碼保護,還好我會Python,不然慘了

    沒寫過,頓時來了興致就寫了一下。加群:943752371可以獲取Python入門學習資料哦!Python操作Excel的庫如xlrd、openpyxl等都無法實現(xiàn)解除工作簿保護,因此只
    發(fā)表于 12-16 16:04 ?390次閱讀

    如何使用python實現(xiàn)截圖自動存入Excel

    如何使用python實現(xiàn)截圖自動存入Excel
    的頭像 發(fā)表于 02-05 12:13 ?7212次閱讀

    abaqus-Python實例-操作excel文件下載

    abaqus-Python實例-操作excel文件
    發(fā)表于 12-17 16:40 ?0次下載
    abaqus-<b class='flag-5'>Python</b>實例-操作<b class='flag-5'>excel</b><b class='flag-5'>文件</b>下載

    如何讀寫帶有formulas的Excel文件淺析

    openpyxl 和 formulas 是兩個成熟的開源庫,在Python中借助這兩個庫,處理Excel電子表格,可以實現(xiàn)自動訪問、處理表格中數(shù)據(jù)的功能,省時高效,不易出錯,是處理Excel
    的頭像 發(fā)表于 04-26 09:55 ?2960次閱讀
    如何<b class='flag-5'>讀寫</b>帶有formulas的<b class='flag-5'>Excel</b><b class='flag-5'>文件</b>淺析

    如何用Python來操作Excel文件

    今天小編來介紹一下如何用Python來操作Excel文件,當中需要用到的模塊叫做openpyxl,其中我們會涉及到一些基本常規(guī)的操作,例如有 插入與查詢數(shù)據(jù) 分類統(tǒng)計數(shù)據(jù) 數(shù)據(jù)的可視化
    發(fā)表于 08-05 11:07 ?973次閱讀

    利用Python讀取多份Excel的小技巧

    在使用 Python 批量處理 Excel 時經(jīng)常需要批量讀取數(shù)據(jù),常見的方式是結(jié)合glob模塊,可以實現(xiàn)將當前文件夾下的所有csv批量讀取,并且合并到一個大的DataFrame中
    的頭像 發(fā)表于 02-02 09:48 ?2288次閱讀

    微軟正在將Python引入Excel

    微軟現(xiàn)代工作總經(jīng)理Stefan Kinnestrand解釋說:“您可以使用Python Plots和libraries在Excel中操縱和探索數(shù)據(jù),然后使用Excel的公式、圖表和數(shù)據(jù)透視表來進一步
    的頭像 發(fā)表于 08-24 17:08 ?861次閱讀
    微軟正在將<b class='flag-5'>Python</b>引入<b class='flag-5'>Excel</b>

    如何用代碼在excel插入圖片

    01 準備 通常python讀取excel有兩個包,xlsxwriter和openpyxl,論單元格單獨處理,openpyxl要方便一些,論sheet的整體編輯,插入圖片,xlsxwr
    的頭像 發(fā)表于 09-11 17:46 ?1779次閱讀

    如何使用Python和pandas庫操作Excel文件

    要修改Excel文件,需要使用openpyxl庫中的Workbook和Worksheet對象。這些對象使您能夠讀取和修改Excel文件中的單
    的頭像 發(fā)表于 09-11 17:57 ?1017次閱讀

    PythonExcel轉(zhuǎn)PDF的實現(xiàn)步驟

    Excel文件轉(zhuǎn)換為PDF可以方便儲存表格數(shù)據(jù),此外在打印或共享文檔時也能確保表格樣式布局等在不同設備和操作系統(tǒng)上保持一致。今天給大家分享一個使用第三方Python庫Spire.XLS for
    的頭像 發(fā)表于 11-20 15:02 ?1017次閱讀
    <b class='flag-5'>Python</b>中<b class='flag-5'>Excel</b>轉(zhuǎn)PDF的實現(xiàn)步驟