Python|Python 读写 Excel 文件
最近需要用到Python来操作excel表,读取表格内容到数据库。所以就搜索了相关资料。
查找了一下,可以操作excel表的几个库有以下几个:
- openpyxl
这个是推荐使用的库,可以读写Excel 2010以上格式,以.xlsx结尾的文件。
- xlsxwriter
这个支持.xlsx,但是只支持写入,格式化等操作,不支持读取。
- xlrd
这个支持读取数据,支持以xls结尾的文件,也就是比较老的格式。
- xlwt
这个和上面的相对应,支持写入书和格式化数据,支持xls结尾的文件格式。
- xlutils
这个是整合了xlrd和xlwt两个库的功能。
以下参考官方文档
本文代码托管在github上,点击链接
- 创建一个工作簿
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="https://www.it610.com/article/%s" % get_column_letter(col)) #_当作一个普通的变量,一般表示后边不再使用
wb.save(filename=dest_filename) #保存
文章图片
图片描述
推荐阅读
- python学习之|python学习之 实现QQ自动发送消息
- 逻辑回归的理解与python示例
- python自定义封装带颜色的logging模块
- 【Leetcode/Python】001-Two|【Leetcode/Python】001-Two Sum
- Python基础|Python基础 - 练习1
- Python爬虫|Python爬虫 --- 1.4 正则表达式(re库)
- Python(pathlib模块)
- python青少年编程比赛_第十一届蓝桥杯大赛青少年创意编程组比赛细则
- Python数据分析(一)(Matplotlib使用)
- Python|Python 9.20