最近须要用到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) #保存