1. 程式人生 > 程式設計 >Python自動建立Excel並獲取內容

Python自動建立Excel並獲取內容

用到了兩個庫,xlrd和xlwt

xlrd是讀excel,xlwt是寫excel的庫[/code]

1)xlwd用到的方法:

xlwt.Workbook()是建立了一個空檔案物件

.add_sheet()為空檔案物件,是在該檔案中建立一個工作表,並返回工作表物件

.write(row,col,data)為工作表物件,表示在第row+1行第col列新增data資料

.save('檔名.xls')為空檔案物件,最後儲存。

2)xlrd用到的方法:

開啟excel檔案讀取資料

data = xlrd.open_workbook('檔名.xls')

常用程式碼:

#通過名稱獲取 table = data.sheet_by_name(u'Sheet1')

獲取整行和整列的值(陣列)  

table.row_values(i)
table.col_values(i)

獲取行數和列數  

nrows = table.nrows
ncols = table.ncols

下面是就是實現程式碼

import xlwt
import xlrd
# 一:.Workbook 建立工作簿,目前空白

testbook = xlwt.Workbook(encoding='utf-8')
# 二:建立sheet頁即工作表,物件是工作簿
test_sheet = testbook.add_sheet('新新人類')
# 三:寫入資料,1、下面是從別的檔案讀取的資料,所以先開啟一個檔案
data1 = xlrd.open_workbook('C:\\Users\\ccccc\\Documents\\Python學習筆記\\新新人類模板.xls')
# 2、再開啟工作表
table1 = data1.sheet_by_name(u'Sheet1')
# 3、row_values 獲取這個工作表第0行的整行資料,返回陣列型別
name1 = table1.row_values(0)
# 4、獲取這個工作表的列數,返回int
nrows1 = table1.ncols
# 5、下面迴圈把第0行所有列的資料的依次寫入之前建立的工作表test_sheet
for j in range(nrows1):
  # 6、寫入資料,write(row,data)為工作表物件,表示在第row+1行第col列新增data資料
  test_sheet.write(0,j,name1[j])

# 四:儲存檔名,下面是從別的檔案獲取檔名
data = xlrd.open_workbook('C:\\Users\\ccccc\\Documents\\Python學習筆記\\新新人類編號.xls')
table = data.sheet_by_name(u'Sheet1')
name = table.col_values(0)
bank = table.col_values(1)
nrows = table.nrows
for i in range(nrows):
    bank1 = bank[i]
    # 把返回的數組裡的每個先賦值變數bank1,再擷取字串的前4個,這裡可以先加個判斷是否有4位,否則不足4位會報錯
    bank2 = bank1[0:4]
    # 四、save儲存檔案
    testbook.save('C:\\Users\\ccccc\\Documents\\Python學習筆記\\'+'新新-'+name[i]+'-'+bank2+'-.xls')

Python自動建立Excel並獲取內容[/code]

Python自動建立Excel並獲取內容

Python自動建立Excel並獲取內容

糾正在最後

程式碼是從兩個Excel分別獲取的,程式碼可以優化為1個Excel,資料放兩個工作表。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。