学习笔记之xlsx文件操作篇

利用python3进行xlsx文件的简单操作

模块:xlsxwriter

环境:centos/Linux

1、创建excel文件

2、创建sheet表

3、开始书写sheet表的正文

先来一串代码压压惊

#############建立xlsx文件并写入数据 图片################

import xlsxwriter

workbook = xlsxwriter.Workbook(‘/home/1.xlsx‘)         #建立一张1.xlsx表
worksheet = workbook.add_worksheet(‘渗透报告‘)   #在1.xlsx表中建立一个名为渗透报告的表

worksheet.set_column(‘A:D‘, 20)           #设置A到D的横向宽度为各为20(set_row设置纵向)              

worksheet.write(‘A1‘,‘Hello‘)             #在 A1 表中写入 Hello
worksheet.write(‘A2‘,‘World‘)           

worksheet.write(‘B2‘,‘你好‘)                               
worksheet.write(2,0,32)                #在第二行第零列写入数字 32
worksheet.write(3,0,32.2)               #在第三行第零列写入数字 32.2
worksheet.write(4,0,‘=SUM(A3:A4)‘)           #在第四行第零列写入A3+A4的值

worksheet.insert_image(‘B5‘,‘./baidu.png‘)       #在B5中添加图片./baidu.png
workbook.close()                                        #关闭1.xlsx表

#xlsxwriter模块的一些操作方法:

#普通操作

xlsxwriter.Workbook(‘excel文件名‘)           #创建excel文件

workbook.add_worksheet(‘表名’)            #创建sheet表  默认表名为sheet

worksheet.write(‘A1‘,‘Hello‘)              #在A1单元格写入‘Hello‘字符串

worksheet.write(2,0,32)                  #在第二行第零列写入数字32

worksheet.write_row(‘A1‘,title,format)        #从A1横向写入title以format格式

#这里title为变量 可以是列表或字母等

worksheet.write_column(‘A2‘,webname,format)     #从A2纵向写入webname以format格式

#这里webname为变量 可以是列表或字母等

worksheet.write_formula(‘I‘+cur_row,‘=AVERAGE(B‘+cur_row+‘:H‘+cur_row+‘)‘,format_ave)

#write_formula() 写公式

worksheet.insert_image(‘B5‘,‘./baidu.png‘)      #在B5中添加图片baidu.png   ./b表示当前文件夹
 workbook.close()                        #关闭文件

#表格操作

workbook.add_format([properties])      #用于创建一个新的格式对象,参数 [properties]为                              指定一个格式属性的字典

如:bold = workbook.add_format( { ‘bold‘ : True } )

#同样也可以这样

format = workbook.add_format()        #创建自定义格式对象   (格式如下)

format.set_border(1)               #设定边界宽度为1

format.set_bg_color(‘#cccccc‘)        #设置背景颜色为#ccccccc

format.set_align(‘center‘)           #设置对齐方式为 剧中

format.set_bold()                 #设置为粗体

format.set_num_format(‘0.00‘)         #设置数字格式为保留两个小数

#图标操作

workbook.add_chart({‘type‘:‘column‘})              #建立图表   类型:柱状图

chart.add_series({

‘categories‘: ‘=Sheet1!$B$1:$H$1‘,          #类别为sheet1表中B1:H1

‘values‘ : ‘=Sheet1!$B$‘+cur_row+‘:$H$‘+cur_row, #值为‘B‘+cur_row:‘H‘+cur_row

‘line‘ : {‘color‘ : ‘black‘},             #线条 黑色

‘name‘ : ‘Sheet1!$A$‘+cur_row,             #名字为‘A‘+cur_row  cur_row是变量

})

chart.set_size({‘width‘ : 577,‘height‘ : 288})   #设置图表的高与宽

chart.set_title({‘name‘ :‘智游网站业务周报‘})    #设置图表名称

chart.set_y_axis({‘name‘ : ‘Mb/s‘})          #设置图表 y轴的名称

worksheet.insert_chart(‘A10‘,chart)          #插入图表位置 在A10格

###################如果你还不懂  看看下面的代码######################

################  建立xlsx文件  并生成图表文件  ##############
#coding: utf-8
import xlsxwriter

workbook = xlsxwriter.Workbook(‘./2.xlsx‘)
worksheet = workbook.add_worksheet()                  
chart = workbook.add_chart({‘type‘:‘column‘})         #建立图标   类型:柱状图

title = [‘网站名称‘,‘星期一‘,‘星期二‘,‘星期三‘,‘星期四‘,‘星期五‘,‘星期六‘,‘星期日‘,‘平均流量‘]
webname = [‘网站1‘,‘网站2‘,‘网站3‘]

data = [
    [150,152,158,149,155,145,148],
    [2111,222,120,10,333,11,59292],
    [999,111,222,111,333,44,111],
]

format = workbook.add_format()            #创建自定义样式对象
format.set_border(1)                  #设定边界宽度为1

format_title = workbook.add_format()         #建立一个format_title样式(样式内容如下)
format_title.set_border(1)               #设置边界宽度为 1
format_title.set_bg_color(‘#cccccc‘)           #设置背景颜色为#ccccccc
format_title.set_align(‘center‘)            #设置对齐方式为 剧中
format_title.set_bold()                 #设置为粗体

format_ave = workbook.add_format()            
format_ave.set_border(1)
format_ave.set_num_format(‘0.00‘)            #设置数字为两位小数

worksheet.write_row(‘A1‘,title,format_title)          #从A1横向写入title以format_title格式
worksheet.write_column(‘A2‘,webname,format)           #从A2纵向写入webname以format格式
worksheet.write_row(‘B2‘,data[0],format)           #从B2横向写入data[0]以foemat格式
worksheet.write_row(‘B3‘,data[1],format)
worksheet.write_row(‘B4‘,data[2],format)

def chart_series(cur_row):
    worksheet.write_formula(‘I‘+cur_row,‘=AVERAGE(B‘+cur_row+‘:H‘+cur_row+‘)‘,format_ave)
    
    chart.add_series({
        ‘categories‘: ‘=Sheet1!$B$1:$H$1‘,
        ‘values‘ : ‘=Sheet1!$B$‘+cur_row+‘:$H$‘+cur_row,
        ‘line‘ : {‘color‘ : ‘black‘},
        ‘name‘ : ‘Sheet1!$A$‘+cur_row,
    })

for row in range(2,5):
    chart_series(str(row))

chart.set_size({‘width‘ : 577,‘height‘ : 288})
chart.set_title({‘name‘ :‘某网站业务周报‘})
chart.set_y_axis({‘name‘ : ‘Mb/s‘})

worksheet.insert_chart(‘A10‘,chart)
workbook.close()

最后记得关闭文件

小白笔记  如有错误请提醒修改!

时间: 2024-10-24 05:20:10

学习笔记之xlsx文件操作篇的相关文章

Windows phone 8 学习笔记(2) 数据文件操作(转)

Windows phone 8 应用用于数据文件存储访问的位置仅仅限于安装文件夹.本地文件夹(独立存储空间).媒体库和SD卡四个地方.本节主要讲解它们的用法以及相关限制性.另外包括本地数据库的使用方式. 快速导航:一.分析各类数据文件存储方式二.安装文件夹三.本地文件夹(独立存储空间)四.媒体库操作五.本地数据库 一.分析各类数据文件存储方式 1)安装文件夹 安装文件夹即应用安装以后的磁盘根文件夹,它提供只读的访问权限.它在手机中对应的路径为" C:\Data\Programs\{XXXXXXX

Python学习笔记八:文件操作(续),文件编码与解码,函数,递归,函数式编程介绍,高阶函数

文件操作(续) 获得文件句柄位置,f.tell(),从0开始,按字符数计数 f.read(5),读取5个字符 返回文件句柄到某位置,f.seek(0) 文件在编辑过程中改变编码,f.detech() 获取文件编码,f.encoding() 获取文件在内存中的编号,f.fileno() 获取文件终端类型(tty.打印机等),f.isatty() 获取文件名,f.name() 判断文件句柄是否可移动(tty等不可移动),f.seekable() 判断文件是否可读,f.readable() 判断文件是

Python学习笔记七:文件操作

文件操作 对照一个word文件的操作方式,来体会文件操作的内容 打开文件:f=open("file"),提示编码错误,windows默认是GBK f=open("file",encoding="utf-8) 输出全部内容:print(f.read()) 文件打开模式:默认为"r",只读:"w",写,创建新文件写,原文件内容被覆盖: "a",append,附加在文件最后 读.写只能有一种操作 关闭文

python学习笔记5:文件操作

操作文件时,一般需要经历如下步骤: 打开文件 操作文件 一.打开文件 1 文件句柄 = file('文件路径', '模式') 注:python中打开文件有两种方式,即:open(...) 和  file(...) ,本质上前者在内部会调用后者来进行文件操作,推荐使用 open. 打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作. 打开文件的模式有: r,只读模式(默认). w,只写模式.[不可读:不存在则创建:存在则删除内容:] a,追

Hadoop学习笔记之二 文件操作

HDFS分布式文件系统:优点:支持超大文件存储.流式访问.一次写入多次读取.缺点:不适应大量小文件.不适应低时延的数据访问.不适应多用户访问任意修改文件. 1.hadoop用于大数据处理,在数据量较小时,并不适用于实时性强的任务,并不是所有的job放到hadoop上,性能都会提升. 2.大量小文件的情况下会极大的降低系统的性能,所以处理前需要先将少文件聚合成大文件,map的输出也应该首先combine在传输给reduce. 3.数据传输时的IO开销,存储在内存中还是硬盘中,节点之间共享数据的分发

Hadoop学习笔记0002——HDFS文件操作

  说明:Hadoop之HDFS文件操作常有两种方式,命令行方式和JavaAPI方式. 方式一:命令行方式 Hadoop文件操作命令形式为:hadoop fs -cmd <args> 说明:cmd是具体的文件操作命令,<args>是一组数目可变的参数. Hadoop最常用的文件操作命令,包括添加文件和目录.获取文件.删除文件等. 1 添加文件和目录 HDFS有一个默认工作目录/usr/$USER,其中$USER是你的登录用户名,作者的用户名是root.该目录不能自动创建,需要执行m

《算法竞赛入门经典》学习笔记 2.3 文件操作

提示2-15:在Windows下,输入完毕后先按Enter键,再按Ctrl+Z键,最后再按Enter键,即可结束输入.在Linux下,输入完毕后按Ctrl+D键即可结束输入.使用文件的两种方式包括:freopen和fopen.freopen方式使用文件最简单的方法是使用输入输出重定向,只需在main函数的入口处加入以下两条语句: freopen("input.txt", "r", stdin); freopen("output.txt", &qu

Python 学习笔记 - 集合和文件操作

Set 集合 Set是一个无序而且不重复的元素集合.下面看看他有哪些基本功能 创建集合 >>> s1 = {11,22} s2 = set() s3 = set([11,22,33,4]) print(s1,s2,s3) ------------------- {11, 22} set() {33, 11, 4, 22} 把列表转换成集合,注意列表中重复的元素只保留一次 >>> li = [11,22,11,22] s1 = set(li) print(s1) ----

Python学习笔记三(文件操作、函数)

一.文件处理 1.文件打开模式 打开文本的模式,默认添加t,需根据写入或读取编码情况添加encoding参数. r   只读模式,默认模式,文件必须存在,不能存在则报异常. w  只写模式,若文件不存在则创建,若文件已存在则清空内容,不可以读文件. a   追加模式,文件不存在则创建,若文件已存在则在文件末尾追加,不可以读文件.    打开非文本的模式,使用"b"表示读取和写入需使用字节,不可指定编码.主要有rb.wb.ab三种模式. 2.操作文件方法 读取文件 with open('