python 试用模块XlsxWriter
xlsxWriter支持多种excle功能,与excel完美兼容,写大文件,速度快且只占用很小的内存空间。
1. 安装XlsxWriter
试用pip或者easy_install安装。(pip,easy_install是python自带exe工具,在python安装目录script下)
sudo pip install XlsxWriter;
sudo easy_install XlsxWriter;
或者源码安装:
http://github.com/jmcnamara/XlsxWriter/archive/master.tar.gz
下载成功后进入setup.py所在目录,执行安装命令
python setup.py install
- 写入数据
创建xlsx and sheet
import xlsxwriter
workbook = xlsxwriter.Workbook('profiler.xlsx')
worksheet = workbook.add_worksheet('report')
指定位置写入
worksheet.write(row, coloumn, v)
worksheet.write('D1',v)
位置可以通过行列(从0开始),或者指定xml格子名称例如D1。
写入行 or 列
headings = ['time','value']
data = [['A', 'B', 'C','D'],[1, 3, 2,4]]
worksheet.write_row('A1',headings,bold)
worksheet.write_column('A2', data[0])
worksheet.write_column('B2', data[1])
生成xlsx
time | value |
---|---|
A | 1 |
B | 3 |
C | 2 |
D | 4 |
3. 绘制图表
chart = workbook.add_chart({'type':'line'})
chart.add_series({
'name':['report',row, col]
'value':['report',row_v, col_v, rwo_v_f, col_v_f]
})
worksheet.insert_chart('D1', chart, {'x_offset':0,'y_offset':0})
add_series()添加图标数据,如绘制多条曲线可以重复调用。
曲线名称:
'name':[p1, p2,p3] :
p1是sheet名称, p2是row坐标, p3是coloum坐标。
曲线点数据
values':[p1,p2,p3,p4,p5] :
p1是sheet名称
p2是数据起点row坐标, p3是数据起点coloum坐标
p4是数据终点row坐标, p5是数据终点coloum坐标
PS:每次add_series()为一行或者一列数据,多行或多列数据需要多次调用add_series()