Python读写 Excel 需要导入xlrd(读),xlwd(写)模块。


1. xlrd 模块


1.1 Excel 文件处理



import xlrd
excel = xlrd.open_workbook("data.xlsx")  




sheet_names = excel.sheet_names()        # 返回book中所有工作表的名字, ['Sheet1', 'Sheet2', 'Sheet3']
excel.sheet_loaded(sheet_name or indx)   # 检查某个sheet是否导入完毕

# 以下三个函数都会返回一个 xlrd.sheet.Sheet() 对象
sheet = excel.sheet_by_index(0)        # 通过索引获取,例如打开第一个 sheet 表格
sheet = excel.sheet_by_name("sheet1")  # 通过名称获取,如读取 sheet1 表单
sheet = excel.sheets()[0]              # 通过索引顺序获取

sheet.row_values(0) #获取第一行的数据
sheet.col_values(0) #获取第一列的数据
sheet.nrows         #获取总共的行数
sheet.ncols         #获取总共的列数




for i in range(0, sheet.nrows):
    row_list = sheet.row_values(i) # 每一行的数据在row_list 数组里



1.2 日期处理


import datetime
from xlrd import xldate_as_datetime

xldate_as_datetime(43346.0, 0).strftime('%Y/%m/%d') 
# '2018/09/03'



2. xlwt 模块


2.1 创建 Book 工作簿(即 excel 工作簿)


import xlwt
workbook = xlwt.Workbook(encoding = 'utf-8')    # 创建一个workbook并设置编码形式


2.2 添加 sheet 工作表


worksheet = workbook.add_sheet('My Worksheet')  # 创建一个worksheet



2.3 向工作表中添加数据并保存


worksheet.write(1,0, label = 'this is test') # 参数对应行, 列, 值

workbook.save('save_excel.xls')  # 保存



2.4 设置宽度


xlwt 中列宽的值表示方法:默认字体 0 的 1/256 为衡量单位。

xlwt 创建时使用的默认宽度为 2960,既 11 个字符 0 的宽度,所以我们在设置列宽时可以用如下方法:

width = 256 * 20,其中 256 为衡量单位,20 表示 20 个字符宽度。

参考:https://www.cnblogs.com/landhu/p/4978705.html