最近須要用到Python來操做excel表,讀取表格內容到數據庫。因此就搜索了相關資料。
查找了一下,能夠操做excel表的幾個庫有如下幾個:html
這個是推薦使用的庫,能夠讀寫Excel 2010以上格式,以.xlsx結尾的文件。python
這個支持.xlsx,可是隻支持寫入,格式化等操做,不支持讀取。git
這個支持讀取數據,支持以xls結尾的文件,也就是比較老的格式。github
這個和上面的相對應,支持寫入書和格式化數據,支持xls結尾的文件格式。數據庫
這個是整合了xlrd和xlwt兩個庫的功能。app
公衆號【智能製造專欄】,之後技術類文章會發在專欄。
如下參考官方文檔
本文代碼託管在github上,點擊連接spa
from openpyxl import Workbook wb = Workbook() ws = wb.active #默認建立第一個表,默認名字爲sheet ws1 = wb.create_sheet() #建立第二個表 ws1.title = "New Title" #爲第二個表設置名字 ws2 = wb.get_sheet_by_name( New Title") #經過名字獲取表,和第二個表示一個表 ws1.save('your_name.xlsx') #保存
from openpyxl import load_workbook wb = load_workbook('myname.xlsx') #加載一個工做簿 print wb.get_sheet_names() #獲取各個sheet的名字
from openpyxl import Workbook from openpyxl.compat import range from openpyxl.cell import get_column_letter wb = Workbook() dest_filename = 'empty_book.xlsx' ws1 = wb.active #第一個表 ws1.title = "range names" #第一個表命名 #遍歷第一個表的1到39行,每行賦值從1到599. for row in range(1,40): ws1.append(range(600)) ws2 = wb.create_sheet(title="Pi") # 建立第二個表 ws2['F5'] = 3.14 #爲第二個表的F5單元格賦值爲3.14 ws3 = wb.create_sheet(title="Data") #建立第三個表 /* 下面遍歷第三個表的10到19行,27到53列,並對每一行的單元格賦一個當前列名的名字以下圖 */ for row in range(10,20): for col in range(27,54): _=ws3.cell(column=col,row=row,value="%s" % get_column_letter(col)) #_看成一個普通的變量,通常表示後邊再也不使用 wb.save(filename=dest_filename) #保存