Python利用openpyxl讀取Excel文件
使用wb.active屬性選擇默認工作表或者使用wb['工作表名稱']選擇指定名稱的工作表。
讀取多個單元格:可以使用for循環遍歷單元格,或者使用sheet.iter_rows()或sheet.iter_cols()函數來讀取多個單元格的值。
#遍歷單元格 forrowinsheet.rows: forcellinrow: print(cell.value) #使用iter_rows()函數讀取多個單元格 forrowinsheet.iter_rows(min_row=1,max_col=3,max_row=2): forcellinrow: print(cell.value) #使用iter_cols()函數讀取多個單元格 forcolumninsheet.iter_cols(min_row=1,max_col=3,max_row=2): forcellincolumn: print(cell.value)當存在空白單元格或None時,可以使用以下方式將None值轉換為空字符串:
forrowinsheet.rows: forcellinrow: ifcell.valueisNone: cell.value=""上述代碼會遍歷工作表中的所有單元格,將值為None的單元格賦值為空字符串。 下面是一個簡單讀取Excel文件的例子:
importopenpyxl wb=openpyxl.load_workbook('test.xlsx') sheet=wb.active#選擇默認工作表 #sheet=wb['test1']#選擇名為'test1'的工作表 #None值轉換為空字符串 forrowinsheet.rows: forcellinrow: ifcell.valueisNone: cell.value="" #遍歷所有單元格的值 forrowinsheet.rows: forcellinrow: print(cell.value,end=" ") print() wb.close()
運行結果如下:
利用openpyxl寫入Excel文件
使用openpyxl模塊創建一個新的工作簿,并選擇默認的工作表,workbook=openpyxl.Workbook()中“W”需要大寫。
importopenpyxl workbook=openpyxl.Workbook() worksheet=workbook.active worksheet.title="test1" #寫入的數據 Name=['Tom','Lily'] Age=['25','23'] Project=['Name','Age'] #寫入第一行數據,行號和列號都從1開始計數 foriinrange(len(Project)): worksheet.cell(1,i+1,Project[i]) #寫入第一列數據,因為第一行已經有數據了,i+2 foriinrange(len(Name)): worksheet.cell(i+2,1,Name[i]) #寫入第二列數據 foriinrange(len(Age)): worksheet.cell(i+2,2,Age[i]) workbook.save(filename='openpyxl_write.xlsx')
![17f3ed18-9b36-11ee-8b88-92fbcf53809c.png](https://file1.elecfans.com/web2/M00/B5/E6/wKgaomV9GayABmWxAAAwyT_btPk183.png)
Python中用openpyxl,pandas,xlrd和xlwt的區別:
這些庫都是Python中用于處理Excel的工具,但是它們之間存在一些不同之處。 openpyxl:openpyxl是用于讀取和寫入Excel 2010(xlsx/xlsm/xltx/xltm)格式Excel的Python庫。它可以讀取、修改和保存Excel文件,支持Excel文件的樣式、公式和圖表。此外,它還支持大型Excel和工作簿,并提供了許多高級功能,如命名區域、數據透視表和圖表。 pandas:Pandas是一個Python數據分析庫,可以處理各種數據集,包括Excel。它可以讀取和寫入Excel、CSV和SQL等格式的數據,具有強大的數據處理、轉換和分析功能。Pandas可以將Excel數據轉換為數據框(DataFrame),并使用Pandas的數據分析工具對其進行操作。 xlrd:xlrd是一個Python庫,用于讀取Excel的數據。它支持讀取Excel 2003及之前版本的.xls文件,但不支持寫入文件。xlrd提供了一種簡單的方式來讀取Excel中的數據和元數據,如單元格的格式、樣式和公式等。 xlwt:xlwt是一個Python庫,用于寫入Excel 2003及之前版本的.xls文件。它可以創建新的Excel表格,或修改現有的Excel表格。xlwt支持設置單元格的格式、樣式和公式等。
所以,如果要讀取或寫入Excel 2010及之后版本的Excel表格,可以使用openpyxl;
如果需要進行數據分析和轉換,可以使用Pandas;
如果要讀取Excel 2003及之前版本的Excel表格,可以使用xlrd;
如果要創建或修改Excel 2003及之前版本的Excel表格,可以使用xlwt。
審核編輯:湯梓紅
-
文件
+關注
關注
1文章
569瀏覽量
24769 -
Excel
+關注
關注
4文章
219瀏覽量
55545 -
函數
+關注
關注
3文章
4338瀏覽量
62743 -
代碼
+關注
關注
30文章
4802瀏覽量
68740 -
python
+關注
關注
56文章
4799瀏覽量
84812
原文標題:Python利用openpyxl讀寫Excel文件
文章出處:【微信號:IC修真院,微信公眾號:IC修真院】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
老板給我一批Excel文檔都有密碼保護,還好我會Python,不然慘了
如何讀寫帶有formulas的Excel文件淺析
![如何<b class='flag-5'>讀寫</b>帶有formulas的<b class='flag-5'>Excel</b><b class='flag-5'>文件</b>淺析](https://file.elecfans.com/web1/M00/EC/E8/pIYBAGCGHymAOfpxAAAypBibxZE331.png)
如何用Python來操作Excel文件
利用Python讀取多份Excel的小技巧
微軟正在將Python引入Excel
![微軟正在將<b class='flag-5'>Python</b>引入<b class='flag-5'>Excel</b>](https://file1.elecfans.com/web2/M00/96/61/wKgZomTnHreAQKkXAABB5PYMhpk960.png)
如何用代碼在excel插入圖片
如何使用Python和pandas庫操作Excel文件
Python中Excel轉PDF的實現步驟
![<b class='flag-5'>Python</b>中<b class='flag-5'>Excel</b>轉PDF的實現步驟](https://file1.elecfans.com/web2/M00/B1/40/wKgZomVbBOyADL1tAAA2TmzyDdE564.png)
評論