這篇文章主要介紹了python讀寫excel文件的方法,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
成都創(chuàng)新互聯(lián)網(wǎng)絡(luò)公司擁有10多年的成都網(wǎng)站開發(fā)建設(shè)經(jīng)驗(yàn),1000多家客戶的共同信賴。提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、網(wǎng)站開發(fā)、網(wǎng)站定制、賣鏈接、建網(wǎng)站、網(wǎng)站搭建、響應(yīng)式網(wǎng)站開發(fā)、網(wǎng)頁設(shè)計(jì)師打造企業(yè)風(fēng)格,提供周到的售前咨詢和貼心的售后服務(wù)
python讀寫excel的方式有很多,不同的模塊在讀寫的方法上稍有區(qū)別:
用xlrd和xlwt進(jìn)行excel讀寫;
用openpyxl進(jìn)行excel讀寫;
用pandas進(jìn)行excel讀寫;
為了方便演示,我這里新建了一個data.xlsx文件,第一個工作表sheet1區(qū)域“A1:F5”的內(nèi)容如下,用于測試讀excel的代碼:
一、利用xlrd和xlwt進(jìn)行excel讀寫(xlwt不支持xlsx)
首先是安裝第三方模塊xlrd和xlwt,直接輸入命令"pip install xlrd"和"pip install xlwt"就行,如下(cmd→CD→c:pythonscripts):
1、xlrd讀excel:
import xlrd book = xlrd.open_workbook('data.xlsx') sheet1 = book.sheets()[0] nrows = sheet1.nrows print('表格總行數(shù)',nrows) ncols = sheet1.ncols print('表格總列數(shù)',ncols) row3_values = sheet1.row_values(2) print('第3行值',row3_values) col3_values = sheet1.col_values(2) print('第3列值',col3_values) cell_3_3 = sheet1.cell(2,2).value print('第3行第3列的單元格的值:',cell_3_3)
運(yùn)行結(jié)果:
表格總行數(shù) 5 表格總列數(shù) 5 第3行值 ['3A', '3B', '3C', '3D', '3F'] 第3列值 ['1C', '2C', '3C', '4C', '5C'] 第3行第3列的單元格的值: 3C
2、xlwt寫excel
主要代碼如下:
workbook = xlwt.Workbook() worksheet = workbook.add_sheet('test') worksheet.write(0,0,'A1data') workbook.save('excelwrite.xls')
程序運(yùn)行后,新建excelwrite.xls工作簿并插入text工作表,A1的內(nèi)容為A1data。
二、利用openpyxl讀寫excel,注意這里只能是xlsx類型的excel
安裝的話,直接輸入命令"pip install openpyxl"就行,很快就能安裝完畢。
讀Excel:
import openpyxl workbook = openpyxl.load_workbook('data.xlsx') worksheet = workbook.get_sheet_by_name('Sheet1') row3=[item.value for item in list(worksheet.rows)[2]] print('第3行值',row3) col3=[item.value for item in list(worksheet.columns)[2]] print('第3行值',col3) cell_2_3=worksheet.cell(row=2,column=3).value print('第2行第3列值',cell_2_3) max_row=worksheet.max_row print('最大行',max_row)
運(yùn)行結(jié)果:
第3行值 ['3A', '3B', '3C', '3D', '3F'] 第3行值 ['1C', '2C', '3C', '4C', '5C'] 第2行第3列值 2C 最大行 5
寫Excel:
import openpyxl workbook = openpyxl.Workbook() sheet=workbook.active sheet['A1']='hi,wwu' workbook.save('new.xlsx')
程序運(yùn)行后,新建new.xls工作簿并插入sheet工作表,A1的內(nèi)容為hi,wwu。
三、利用pandas讀取excel
Pandas的名稱來自于面板數(shù)據(jù)(panel data)和python數(shù)據(jù)分析(data analysis)。
首先要安裝pandas模塊,相對來說,安裝pandas模塊要復(fù)雜一些。
如果用pip install pandas安裝后運(yùn)行出錯,可以考慮安裝以前的版本:pip install pandas==0.22
pandas是一個數(shù)據(jù)處理的包,本身提供了許多讀取文件的函數(shù),像read_csv(讀取csv文件),read_excel(讀取excel文件)等,只需一行代碼就能實(shí)現(xiàn)文件的讀取。
讀取Excel:
import pandas as pd df = pd.read_excel(r'data.xlsx',sheetname=0) print(df.head())
運(yùn)行結(jié)果:
1A 1B 1C 1D 1F 0 2A 2B 2C 2D 2F 1 3A 3B 3C 3D 3F 2 4A 4B 4C 4D 4F 3 5A 5B 5C 5D 5F
寫Excel:
from pandas import DataFrame data={ 'name':['張三','李四','王五'], 'age':[11,12,13] 'sex':'男','女','男'] } df=DataFrame(data) df.to_excel('new.xlsx")
程序運(yùn)行后,將新建(或替換)new.xlsx文件,并在工作表sheet1的A1:D4區(qū)域中保存內(nèi)容如下:
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享python讀寫excel文件的方法內(nèi)容對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián),詳細(xì)的解決方法等著你來學(xué)習(xí)!