Python tablib模組,pythontablib模組
Python tablib模組是第三方模組,主要作用是將資料匯出為各種不同的格式,包括excel,json,html,yaml,csv,tsv等格式,怎麼樣,有點心動了吧,當然這個模組使用起來也是超級簡單的
首先安裝這個模組,開啟cmd,然後python –m pip install tablib就可以啦
安裝好之後,就可以使用啦,下面舉個簡單的栗子就知道怎麼用啦
import tablibimport os#建立dataset,方法1dataset1 = tablib.Dataset()header1 = ('ID', 'Name', 'Tel', 'Age')dataset1.headers = header1 dataset1.append([1, 'zhangsan', 13711111111, 16])dataset1.append([2, 'lisi', 13811111111, 18])dataset1.append([3, 'wangwu', 13911111111, 20])dataset1.append([4, 'zhaoliu', 15811111111, 25])print('dataset1:', os.linesep, dataset1, os.linesep)#建立dataset,方法2header2 = ('ID', 'Name', 'Tel', 'Age')data2 = [ [1, 'zhangsan', 13711111111, 16], [2, 'lisi', 13811111111, 18], [3, 'wangwu', 13911111111, 20], [4, 'zhaoliu', 15811111111, 25]]dataset2 = tablib.Dataset(*data2, headers = header2)print('dataset2: ', os.linesep, dataset2, os.linesep)#增加行dataset1.append([5, 'sunqi', 15911111111, 30]) #添加到最後一行的下面dataset1.insert(0, [0, 'liuyi', 18211111111, 35]) #在指定位置添加行print('增加行後的dataset1: ', os.linesep, dataset1, os.linesep)#刪除行dataset1.pop() #刪除最後一行dataset1.lpop() #刪除第一行del dataset1[0:2] #刪除第[0,2)行資料print('刪除行後的dataset1:', os.linesep, dataset1, os.linesep)#增加列#現在dataset1就剩兩行資料了dataset1.append_col(('beijing', 'shenzhen'), header='city') #增加列到最後一列dataset1.insert_col(2, ('male', 'female'), header='sex') #在指定位置添加列print('增加列後的dataset1: ', os.linesep, dataset1, os.linesep)#刪除列del dataset1['Tel']print('刪除列後的dataset1: ', os.linesep, dataset1, os.linesep)#擷取各種格式的資料print('yaml format: ', os.linesep ,dataset1.yaml, os.linesep)print('csv format: ' , os.linesep ,dataset1.csv , os.linesep)print('tsv format: ' , os.linesep ,dataset1.tsv , os.linesep)#匯出到Excel表格中dataset1.title = 'dataset1' #設定Excel中表單的名稱dataset2.title = 'dataset2'myfile = open('mydata.xlsx', 'wb')myfile.write(dataset1.xlsx)myfile.close()#如果有多個sheet表單,使用DataBook就可以了myDataBook = tablib.Databook((dataset1, dataset2))myfile = open(myfile.name, 'wb')myfile.write(myDataBook.xlsx)myfile.close()
輸出的結果為:
dataset1: ID|Name |Tel |Age--|--------|-----------|---1 |zhangsan|13711111111|16 2 |lisi |13811111111|18 3 |wangwu |13911111111|20 4 |zhaoliu |15811111111|25 dataset2: ID|Name |Tel |Age--|--------|-----------|---1 |zhangsan|13711111111|16 2 |lisi |13811111111|18 3 |wangwu |13911111111|20 4 |zhaoliu |15811111111|25 增加行後的dataset1: ID|Name |Tel |Age--|--------|-----------|---0 |liuyi |18211111111|35 1 |zhangsan|13711111111|16 2 |lisi |13811111111|18 3 |wangwu |13911111111|20 4 |zhaoliu |15811111111|25 5 |sunqi |15911111111|30 刪除行後的dataset1: ID|Name |Tel |Age--|-------|-----------|---3 |wangwu |13911111111|20 4 |zhaoliu|15811111111|25 增加列後的dataset1: ID|Name |sex |Tel |Age|city --|-------|------|-----------|---|--------3 |wangwu |male |13911111111|20 |beijing 4 |zhaoliu|female|15811111111|25 |shenzhen 刪除列後的dataset1: ID|Name |sex |Age|city --|-------|------|---|--------3 |wangwu |male |20 |beijing 4 |zhaoliu|female|25 |shenzhen yaml format: - {Age: 20, ID: 3, Name: wangwu, city: beijing, sex: male}- {Age: 25, ID: 4, Name: zhaoliu, city: shenzhen, sex: female} csv format: ID,Name,sex,Age,city3,wangwu,male,20,beijing4,zhaoliu,female,25,shenzhen tsv format: IDNamesexAgecity3wangwumale20beijing4zhaoliufemale25shenzhen
怎麼樣,是不是很簡單呢~~~