转载原链接:https://www.jianshu.com/p/d685cfaaeef7

1.安装

pip install xlsxwriter

2.操作一个简单的Excel文档

# 引入依赖模块
import xlsxwriter # 数据准备
datas = (
['Rent', 1000],
['Gas', 100 ],
['Food', 300 ],
['Gym', 50 ]
) # 创建一个Excel文档
workbook = xlsxwriter.Workbook('ex01.xlsx')
# 添加一个工作表
worksheet = workbook.add_worksheet() # 设置行和列的偏移
row, col = 0, 0 # 开始添加数据
for item, cost in datas:
# 指定行、列的单元格,添加数据
worksheet.write(row, col, item)
worksheet.write(row, col+1, cost)
# 行增加
row += 1 # 添加一个计算总数的函数
worksheet.write(row, 0, 'Total')
worksheet.write(row, 1, '=SUM(B1:B4)') # 关闭文档
workbook.close()

操作完成后,数据存储结果如下:

  1. 操作简单Excel文档并添加数据格式
# 导入依赖的模块
import xlsxwriter # 数据准备
datas = (
['Rent', 1000],
['Gas', 100 ],
['Food', 300 ],
['Gym', 50 ],
) # 创建表格
workbook = xlsxwriter.Workbook('ex02.xlsx')
worksheet = workbook.add_worksheet('data') # 添加全局格式
bold = workbook.add_format({'bold': True})
# 添加money格式
money = workbook.add_format({'num_format': '$#,##0'}) # 添加表格头,附带格式
worksheet.write('A1', 'Item', bold)
worksheet.write('B1', 'Cost', bold) # 数据表格偏移
row, col = 1, 0
# 添加数据
for item, cost in datas:
# 按照行列单元格添加数据
worksheet.write(row, col, item)
worksheet.write(row, col+1, cost)
row += 1 # 添加一列求和计数
worksheet.write(row, 0, 'Total', bold)
worksheet.write(row, 1, '=SUM(B2:B5)', money) # 存储退出
workbook.close()

操作效果如图所示:

4.Excel中添加不同类型的数据

操作代码如下:将不同的数据按照指定的格式添加到文件中

# 引入依赖的模块
from datetime import datetime
import xlsxwriter # 数据准备
datas = (
['Rent', '2018-05-13', 1000],
['Gas', '2018-05-14', 100],
['Food', '2018-05-16', 300],
['Gym', '2018-05-20', 50],
) # 创建表格
workbook = xlsxwriter.Workbook('ex03.xlsx')
worksheet = workbook.add_worksheet('data') # 添加格式
bold_f = workbook.add_format({'bold': True})
money_f = workbook.add_format({'num_format': '$#,##0'})
# 添加日期格式new
date_f = workbook.add_format({'num_format': 'mmmm d yyyy'}) # 添加对齐方式和表格宽度new
worksheet.set_column(1, 1, 15) # 添加表头数据
worksheet.write('A1', 'Item', bold_f)
worksheet.write('B1', 'Date', bold_f)
worksheet.write('C1', 'Cost', bold_f) # 定义偏移值
row, col = 1, 0
# 添加数据
for item, date, cost in datas:
date = datetime.strptime(date, '%Y-%m-%d')
worksheet.write(row, col, item)
worksheet.write_datetime(row, col+1, date, date_f)
worksheet.write(row, col+2, cost, money_f)
row += 1 # 添加计数
worksheet.write(row, 0, 'Total', bold_f)
worksheet.write(row, 2, '=SUM(C2:C5)', money_f) # 存储并关闭
workbook.close()

代码执行结果如下:



注意:xlsxwriter中提供了向excel中写入数据的多种方式,如下:

write_string()

write_number()

write_blank()

write_formula()

write_datetime()

write_boolean()

write_url()

5.Excel中添加数据图表

操作代码如下:将对应的数据展示图表添加到文件中

# 引入依赖模块
import xlsxwriter # 操作数据
data = [20, 45, 26, 18, 45] # 创建表格
workbook = xlsxwriter.Workbook("ex04.xlsx")
worksheet = workbook.add_worksheet("data") # 添加数据:一次添加多个数据
worksheet.write_column('A1', data) # 创建图表
chart = workbook.add_chart({'type': 'line'})
# 图表添加数据
chart.add_series({
'values': '=data!$A1:$A6',
'name': '图表线名称',
'marker': {
'type': 'circle',
'size': 8,
'border': {'color': 'black'},
'fill': {'color': 'red'}
},
'data_labels': {'value': True},
'trendline': {
'type': 'polynomial',
'order': 2,
'name': '示例趋势线',
'forward': 0.5,
'backward': 0.5,
'display_equation': True,
'line': {'color': 'red', 'width': 1, 'dash_type': 'long_dash'}
}
}) worksheet.insert_chart('C1', chart) workbook.close()

代码执行结果如下图所示:

自动化办公:xlsxwriter操作Excel的更多相关文章

  1. Python自动化办公之操作Excel文件

    模块导入 import openpyxl 读取Excel文件 打开Excel文件 workbook = openpyxl.load_workbook("test.xlsx") 输出 ...

  2. python3使用xlrd、xlwt、xlutils、openpyxl、xlsxwriter操作excel

    特色简介 xlrd主要用来读excel,针对.xls格式: xlwt主要用来写excel,针对.xls格式,超出excel 的单格内容长度上限32767,就会报错: xlutils结合xlrd可以达到 ...

  3. Python自动化办公知识点整理汇总

    知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却 ...

  4. 自动化办公:python操作Excel

    1.安装 -- upgrade pippython -m pip install --- install pypipip install pypi 执行python setup.py install进 ...

  5. 接口自动化(二)--操作Excel获取需要数据

    这一部分的内容记述一下对Excel表格的操作,本实战中的测试用例是由Excel来管理的,因此操作Excel是重要的一部分. 再次贴出这张图,所有的测试用例都在这个sheet内,请求数据真实存放在jso ...

  6. python办公入门4:xlrd操作excel行

    操作excel行 1 #通过索引获取操作行 2 sheet=data.sheet_by_index(0) 3 #获取当前sheet下的有效行数 4 print(sheet.nrows) 5 #获取某一 ...

  7. Python“文件操作”Excel篇(上)

    大家好,我们今天来一起探索一下用Python怎么操作Excel文件.与word文件的操作库python-docx类似,Python也有专门的库为Excel文件的操作提供支持,这些库包括xlrd.xlw ...

  8. VS2010 C++ 操作Excel表格的编程实现

    转载请注明原文网址: http://www.cnblogs.com/xianyunhe/archive/2011/09/25/2190485.html 通过VC实现对Excel表格的操作的方法有多种, ...

  9. C++ builder 操作Excel方法(据网上资料整理)

    c++ builder 操作Excel方法,下面是从网上找到的一些不错的方法,学习一下: 用OLE操作Excel(目前最全的资料)(04.2.19更新) 本文档部分资料来自互联网,大部分是ccrun( ...

随机推荐

  1. Nuxt项目支持import写法的最新解决方案

    最近在看Nuxt开发vue项目的视频,视频中讲到Nuxt项目不支持es6的import写法.并提供了解决方案: 1.在package.json中添加我标红的部分: "scripts" ...

  2. Word pair Hu

    Memorize words in the way of games, learn foreign languages, and be more handy

  3. ent 基本使用十三 debug 模式

    ent 生成的代码client 包中包含了一个方便的方法Debug(), 记得昨天我为了查看生成的sql 查询通过配置mysql 启用慢查询,同时设置记录慢查询为0,实际上client Debug 方 ...

  4. netflix conductor 2.x 版本新功能简单说明

    netflix conductor 2.x 已经发布很长时间了,同时官方也发布了关于2.x 新特性的说明,当前github 行的release 版本为2.14.4 新特性 grpc 框架支持 一个可选 ...

  5. There is insufficient memory for the Java Runtime Environment to continue.

    There is insufficient memory for the Java Runtime Environment to continue.

  6. SQL进阶-数据类型转换

    一般有这几种转换: 一.数值型与字符型的转化 ### 数值型转为字符型: –> '65' select cast(65 as char); –> 'A' select char(65); ...

  7. cloneable以及深拷贝和浅拷贝

    Objec类有11个方法,有两个protected的方法,其中一个为clone方法(另一个为finalize). 该方法的签名是: protected native Object clone() th ...

  8. 【转】linux sed命令

    转自:linux sed命令就是这么简单 参考:Linux三大剑客之sed:https://blog.csdn.net/solaraceboy/article/details/79272344 阅读目 ...

  9. What is the difference between UNION and UNION ALL?

    What is the difference between UNION and UNION ALL? UNION removes duplicate records (where all colum ...

  10. 推荐一个web字体转换工具TTF转SVG

    推荐一个web字体转换工具:https://www.fontsquirrel.com/tools/webfont-generator