python操作excel主要用到xlrd和xlwt这两个库,即xlrd是 读 excel,xlwt是 写 excel的库,这两个适用于.xls格式有效
写操作(xlsxwriter模块)
概述
xlsxwriter 只能创建新文件,不可以修改原有文件。
如果创建新文件时与原有文件同名,则会覆盖原有文件
导入库文件
import xlsxwriter
创建一个新的xlsx文件(如果原有同名文件会被覆盖)
workbook = xlsxwriter.Workbook(“Expenses01.xlsx”)
创建一个新的工作表,默认名称为 “sheet1”,输入字符参数可指定名称
worksheet = workbook.add_worksheet()
将数据写入 xlsx 表格中
1.写入单元格
worksheet.write(row,col,data,[格式])
例子
2.写入一列
worksheet.write_column(‘A1’, data[0])
-
参数
-
用符号标记位置,例如:A列1行
worksheet.write(‘A1’, ‘Item’, bold_format) -
list,一维列表
关闭workbook(若不显式指定,则作用域结束后自动关闭)
workbook.close()
格式处理
表格中有许多特殊的格式,格式需要进行特殊的处理
先设置格式,使用方法:workbook.add_format({type:value})
workbook.add_format({type:value})
-
bold_format = workbook.add_format({‘bold’:True})
- bold:加粗 money_format = workbook.add_format({‘num_format’:’$#,##0’})
- num_format:数字格式 date_format =workbook.add_format({‘num_format’:‘mmmm d yyyy’})
- num_format:日期
- 将数据格式转化为Python datetime.datetime 格式
- date = datetime.strptime(date_str, “%Y-%m-%d”)
再使用指定格式写入,使用方法:worksheet.write_type(,row,col,data)(type为指定类型)
worksheet.write_type(,row,col,data)(type为指定类型)
例子
worksheet.write_string(row, col, item)
worksheet.write_datetime(row, col + 1, date, date_format)
worksheet.write_number(row, col + 2, cost, money_format)
将图表插入表单中
1.新建图标对象
worksheet.insert_chart("A7", chart)
2.向图表中添加数据,例如第一行为:将A1-A5的数据转化为图表(要向将A1-A5填充数据)
chart.add_series({'values': '=Sheet1!$A$1:$A$5'})
chart.add_series({'values': '=Sheet1!$B$1:$B$5'})
chart.add_series({'values': '=Sheet1!$C$1:$C$5'})
3.将图表插入表单中
worksheet.insert_chart('A7', chart)
样式设置
设置单元格宽度
worksheet.set_column(index,width)
# index可以使用字符串(如:"A:A"--设置第一列,"A:B"--设置第1,2列)
# 也可以使用两个参数表示如(0,0--第一列,0,1--第1,2列)
设置一整行高度
worksheet.set_row(row,height)