影
這個問題以前回答過,這裡再總結一下,目前來說,有3種常見的python讀寫excel表格的方式,分別是xlrd和xlwt、openpyxl和pandas,這3種方法讀寫excel表格都挺簡單的,下面我簡單介紹一下這3種方式是如何讀寫excel的,實驗環境win10+python3.6+pycharm5.0,主要內容如下:
為了更好地說明問題,這裡我新建了一個grade.xls文件,數據都是隨機填寫的,後面讀取的內容都是這個excel表格,截圖如下:
xlrd和xlwt:這是最基本的2個讀寫excel表格的庫,其中xlrd專門用於讀取excel表格內容,xlwt專門用於寫入excel表格,相關測試代碼及截圖如下:
1.首先,安裝xlrd和xlwt,這個直接在cmd窗口輸入命令“pip install xlrd xlwt”就行,如下:
2.xlrd讀取excel表格,這裡主要讀取了表格所有行數、列數,以及單元格、行列內容,代碼如下:
程序截圖如下:
3.xlwt寫入excel表格,這裡比較簡單,只需要按照行號和列好定位到對應單元格,再寫入就行,代碼如下:
寫入excel表格內容如下:
openpyxl:這也是一個專門用於讀寫excel表格的庫,讀寫方式與xlrd、xlwt類似,只不過只能是xlsx格式的excel,不能是xls類型的,不然會報錯,相關測試代碼及截圖如下:
1.首先,安裝openpyxl,這個直接在cmd窗口輸入命令“pip install openpyxl”就行,如下:
2.讀取excel表格,代碼如下,很簡單:
程序運行截圖如下:
3.寫入excel表格,這個代碼也很簡單,寫入對應單元格就行:
寫入excel表格的內容如下:
pandas:這是一種最簡單的讀寫excel表格的方式,只需一行代碼就能讀寫excel表格的內容,在數據處理上經常會用到,是一個很不錯的庫,相關測試代碼及截圖如下:
1.首先,安裝pandas,這個由上面一樣,直接輸入命令“pip install pandas”就行,如下:
2.pandas讀取excel表格,這裡只需一行代碼就能讀取excel內容,主要用到read_excel這個函數,這裡默認會讀取列標題,如果不需要,設置header=None就行,如果需要做統計分析的話,也可以利用groupby等函數進行處理:
程序運行截圖如下:
3.pandas寫入excel表格,主要用到to_excel這個函數,也是一行代碼就能保存,如果不需要index索引的話,設置index=False就行,代碼如下:
寫入excel表格內容如下:
至此,我們就完成了利用python來讀寫excel表格。總的來說,這個3種方式都挺簡單的,只要你有一定python基礎,熟悉一下相關代碼,很快就能掌握的,當然,你也可以利用其它庫讀寫excel表格內容,像win32com,xlswrite等,這裡就不詳細介紹了,網上也有相關資料和教程可供參考,感興趣的可以搜一下,希望以上分享的內容能對你有所幫助吧。
小小猿愛嘻嘻
一、用xlrd和xlwt讀寫excel
首先要安裝xlrd,xlwt兩個庫。
1、打開excel
readbook = xlrd.open_workbook(r'\\sample.xlsx')
2、獲取讀入的文件的sheet
#索引的方式,從0開始
sheet = readbook.sheet_by_index(1)
# 名字的方式
sheet = readbook.sheet_by_name('sheet2')
3、獲取某個單元格的值
#獲取i行3列的表格值
lng = table.cell(i,3).value
#獲取i行4列的表格值
lat = table.cell(i,4).value
4、打開將寫的表並添加sheet
#打開一個excel
writebook = xlwt.Workbook()
#在打開的excel中添加一個sheet
sheet = writebook.add_sheet('test')
5、將數據寫入excel
#寫入excel,i行0列
sheet.write(i,0,result[0])
sheet.write(i,1,result[1])
6、保存
#一定要記得保存
writebook.save('answer.xls')
二、使用openpyxl庫讀寫excel
1、打開Excel
wb = load_workbook("sample.xlsx")
2、創建一個工作表
wb = Workbook()
3、創建一個sheet
sheet = wb.active
4、給sheet起個名字
sheet.title = "New Shit"
5、讀取到指定的Sheet
sheet = wb.get_sheet_by_name("Sheet3")
6、往sheet裡寫入
sheet['C3'] = 'Hello world!'
for i in range(10):
sheet["A%d" % (i+1)].value = i + 1
7、保存
wb.save('sample.xlsx')