Python Excel 操作 | xlrd+xlwt 模块笔记
Python读写 Excel 需要导入xlrd(读),xlwd(写)模块。
1. xlrd 模块
1.1 Excel 文件处理
打开 excel 文件
import xlrdexcel = xlrd.open_workbook("data.xlsx")
获取并操作 sheet 工作表
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 datetimefrom xlrd import xldate_as_datetimexldate_as_datetime(43346.0, 0).strftime('%Y/%m/%d') # '2018/09/03'
2. xlwt 模块
2.1 创建 Book 工作簿(即 excel 工作簿)
import xlwtworkbook = 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 个字符宽度。