先安裝對應的xlrd和xlwt
開啟cmd指令視窗輸入pip install xlrd和pip install xlwt就可以安裝。之後輸入pip list檢查是否成功設定:
xlrd操作#
接下來就是常用的語法運算:
._data = = excel_data.sheets()[工作表序號]#得到對應工作表中的某一個表格
sheet.row_values(2)#對應的某一行的資料
sheet.cell(6,1).value#對應某一列的資料
以該表格為例先試用對應的語句:
先指定對應的表格和其中的某一個表,否則會提示出錯編譯不通過。將上述程式碼執行excel表格範本.xls')
sheet = excel_data.sheets()[工作表序號]
sheet = excel_data.sheets()[0]
print(sheet.row_values(2)) #某一行資料print(sheet.row_values(2)) #某一行資料某某一行資料
print(
對比表格得到一些值得注意的地方,指定的行數列數是從0開始,打開指定的表格時要注意絕對路徑時要連同文件名和文件後綴也要帶上才能成功讀取資料。 接下來實驗讀取指定的某個單元格的資料: sheet.cell(行,列).value 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
style.num_format_str = '$#,##0.00'sheet.write(0, 0, '100.00', style) 4.建立公式:4.建立公式:
sheet.write(0, 0, xlwt.Formula('HYPERLINK("http://yujitomita.com"; "click me")'))ave("Python .xls")
wbk.save('路徑名')
wbk.save('路徑名')
這裡值得提醒的是工作表的命名為小於31個
運作結果:
依照先前的坑洞(-1,0)這裡試運轉結果:
# encoding : utf-8
book
sheet = workbook. add_sheet("Sheet 1")
sheet.write(-1, 0, 'Python')#行列對應
style = wt.easyxf('font : bold 1')
sheet.write(1, 1, 'style ', style)workbook.save('C:Usershys macDesktopmr.cpython.xls')
cpython.xls')
) 'unicodeescape' codec can't decode bytes in position 2-3: truncated UXXXXXXXX escape
遇到了文件編碼的問題,修改後一句:
workbook.save(r)
就回到了一開始留下的坑,單元格賦值規則應該與使用習慣一致不能為負數。最後修改得到:import xlrd
import xlwtworkbook = xlwt.Workbook()sheet = workbook.add_sheet("Sheet 1")
style = xlwt.easyxf('font: bold 1')