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é)果如下:
利用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')
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。
審核編輯:湯梓紅
-
文件
+關注
關注
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)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論