基於Python實現excel表格讀寫

來源:互聯網
上載者:User
首先安裝對應的xlrd和xlwt

開啟cmd命令視窗輸入pip install xlrd和pip install xlwt就可以安裝。之後輸入pip list檢查是否成功配置:

xlrd操作#

接下來就是常用的文法操作:

excel_data = xlrd.open_workbook(檔案路徑')#得到對應的工作表

sheet = excel_data.sheets()[工作表序號]#得到對應工作表中的某一個表格

sheet.row_values(2)#對應的某一行的資料

sheet.cell(6,1).value#對應某一列的資料

以該表格為例先試一下對應的語句:

先指定對應的表格和其中的某一個表,否則會提示出錯編譯不通過。將以上代碼運行得到:

源碼如下:

import xlrd

import xlwt

excel_data = xlrd.open_workbook(檔案路徑')

excel_data = xlrd.open_workbook(r'C:\Users\hys mac\Desktop\實用的excel表格模板.xls')

sheet = excel_data.sheets()[工作表序號]

sheet = excel_data.sheets()[0]

print(sheet.row_values(2)) #列印某一行資料

print(sheet.col_values(1))#列印某一列

print( )

print ( sheet.cell(6,1).value)#列印某個具體值

運行結果如下:

對比表格得到一些值得注意的地方,指定的行數列數是從0開始,開啟指定的表格時要注意絕對路徑時要連同檔案名稱和檔案尾碼也要帶上才能成功讀取資料。

接下來實驗讀取指定的某個儲存格的資料:

sheet.cell(行,列).value

運行得到:

對比表格得到資料:

是其中的(7,B),和之前提到的從零開始計數是一致的。

除了以上列舉的一些操作外還有其他的常見語句可以在相關文檔和官網中查看,文末有相關連結,接下來實驗另一個xlwt庫以實現對excel表格的寫入操作。

xlwt操作#

對於excel表格一般關心的問題在於以下幾個方面:

建立工作薄和表

寫入儲存格

常見格式設定(貨幣文本等)

建立公式

儲存

接下來依次嘗試以上提到的各個功能:

工作薄和表對應的對象為:workbook,sheet

2.儲存格賦值:

這裡嘗試了一下採用負數

編譯沒有問題留作後面儲存後檢查結果是否正確。

3.格式設定:

可見對應傳入參數除行列和值外還包括style這一預設省略的參數。這裡實驗設定的格式為加粗。其他格式可以參照尋找文末文檔實現。這裡有一些常見得其他格式:

style = easyxf(num_format_str='$#,##0.00')

# or set it directly on the style object

style = easyxf('font: bold 1')

style.num_format_str = '$#,##0.00'

sheet.write(0, 0, '100.00', style)

4.建立公式:

使用xlwt.Formula可以實現Excel公式。

sheet.write(0, 0, xlwt.Formula('HYPERLINK("http://yujitomita.com"; "click me")'))

5.儲存操作:

workbook.save("Python.xls")

wbk.save('路徑名')

這裡值得提醒的是工作表的命名要小於31個字元且不能包括特殊字元(:。,等)。

運行結果:

按照之前的坑(-1,0)這裡試運行結果:

# encoding : utf-8
import xlrd
import xlwt

workbook = xlwt.Workbook()
sheet = workbook.add_sheet("Sheet 1")

#建立活頁簿(workbook)和工作表(sheet)

sheet.write(-1, 0, 'Python')#行列對應

style = xlwt.easyxf('font: bold 1')
sheet.write(1, 1, 'style ', style)

workbook.save('C:\Users\hys mac\Desktop\mr.c\python.xls')

報錯結果如下:

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

遇到了檔案編碼的問題,修改後一句:

workbook.save(r'C:\Users\hys mac\Desktop\mr.c\python.xls')

就回到了一開始留下的坑,儲存格賦值規則應該與使用習慣一致不能為負數。最後修改得到:

import xlrd
import xlwt

workbook = xlwt.Workbook()
sheet = workbook.add_sheet("Sheet 1")

#建立活頁簿(workbook)和工作表(sheet)

sheet.write(1, 0, 'Python')#行列對應

style = xlwt.easyxf('font: bold 1')
sheet.write(1, 1, 'style ', style)

workbook.save(r'C:\Users\hys mac\Desktop\mr.c\python1.xls') #檔案路徑要存在且不能同名

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.