python如何讀寫excel表格?有哪些比較簡單的方法可供參考?


這個問題以前回答過,這裡再總結一下,目前來說,有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')


分享到:


相關文章: