python3.7操作excel的_python3操作excel —— xlsxwrite

简介理解

xlsxwrite用来操作excel,整理使用excel操作的一般动作有:打开excel

写入内容

调整格式:对齐 | 字体 | 数字 | 格式

插入图片

页面排版: 合并 | 颜色 | 线条

关闭excel

功能内容

1、打开excel,创建sheet对象

1、Workbook(filename:str, [, options:dict])

参数说明{'nan_inf_to_errors': True}: 允许excel将nan转化为NUM!,inf转化为DIV/0!

2、workbook.add_worksheet([name:str])

3、worksheet.activate() # 制定某个sheet可看见

参数说明name:sheet名称

import xlsxwriter

# 示例

workbook = xlsxwriter.Workbook('demo.xlsx')

worksheet1 = workbook.add_worksheet()

worksheet2 = workbook.add_worksheet('第二章')

workbook.worksheets() # 返回所有sheet

workbook.get_worksheet_by_name('Sheet1') # 返回某个sheet

2、写入内容

expenses = (

['Rent', 1000],

['Gas', 100],

['Food', 300],

['Gym', 50],

)

# 插入内容 —— 方式一

worksheet.write(0, 0, 'str':str)

# 插入内容 —— 方式二

worksheet.write('A1', 'str')

# 插入行内容

worksheet.write_row('A1', data)

# 插入列内容

worksheet.write_column('A1', data)

# 插入日期

date_format = workbook.add_format('num_format': 'mmmm d yyyy')

date = datetime.strptime('2013-01-13', "%Y-%m-%d")

worksheet.write_datetime('A1', date, data_format)

# 插入公式

worksheet.write(4, 0, '=SUM(A1:A3)')

# 定义excel变量

workbook.define_name('Excahnge_rate', '=0.96')

worksheet.write('B3', '=B3*Exchange_rate')

workbook.define_name("'New Data'!Sales", '=Sheet2!$G$1:$G$10')

3、 调整格式

3.1、add_format([option:dict])

参数说明

字体相关:’font_name' | 'font_size' | 'font_color' | 'bold' | 'italic' | 'underline' | 'fort_strikeout'(加删除线) | ‘font_script'(上标/下标,在write_rich_string中使用)

数字相关:’num_format'

保护:'locked'(Lock Cells) | 'hidden'(Hide formulas)

对齐:’align' | 'valign' | 'rotation' | ‘text_wrap' | 'text_justlast' | 'center_across' | 'indent' | 'shrink'

模式:‘pattern' | 'bg_color' | 'fg_color'

边框:'border' | 'bottom' | 'top' | 'left' | 'right' | 'border_color' | 'bottom_color' | 'top_color' | 'left_color' | 'right_color'

# 示例

bold = workbook.add_format({'bold': True})

money = workbook.add_format('num_format': '$#,##0')

worksheet.write('A1', 'Item', bold)

worksheet.write('B1', 'Cost', bold)

worksheet.write(2, 0, 1000, money)

bold = workbook.add_format({'bold': True})

italic = workbook.add_format({'italic': True})

worksheet.write_rich_string('A1',

'This is ',

bold, 'bold',

' and this is ',

italic, 'italic')

# 调整行/列格式

set_row(row, height, cell_format, options)

worksheet.set_col('A:D', cell_format)

set_column(first_col, last_col, width, cell_format, options)

worksheet.set_row(0, 18, cell_format)

3.2、data_validation(first_row, first_col, last_row, last_col, options)

options参数:

validate:有效格式,如 interger | decimal | list | date | time | length | custom | any

criteria: 评判办法,如 == | != | > | < | >= | <=

value: 配合criteria的值

maxium:内容最大值

minimum: 内容最小值

input_titile:显示标题

input_message:显示内容

source:数据来源

3.3、conditional_foramat(first_row, first_col, last_row, last_col, options)

options参数:

type: 'cell'等

criteria:规则 如 == | != | > | < | >= | <=

value: 配合criteria的值

maxium:内容最大值

minimum: 内容最小值

format:格式

'multi_range': 多个区域 如 'B3:K6 B9:K12'

3.4、filter_column(col, criteria)

3.5、worksheet.filter_column_list()

worksheet.filter_column('B', 'x > 2000 and x < 5000')

worksheet.filter_column_list('A', ['March', 'April', 'May'])

4、插入图片

4.1、insert_image(row, col, image[, options])

options参数:

x_offset: 横向偏移量,单位像素

y_offset: 纵向偏移量,单位像素

x_scale: 图片横向长度,

y_scale:图片纵向长度

image_data: 图片数据流,用于先把网络数据导入流中,再从流插入excel

url: 图片超链接

object_position:{1: 随着单元格移动并变化大小

2:随着单元格移动但是不变化大小

3: 不随着单元格移动变化大小

4:和1一样,除了单元格隐藏的情况下(单元格隐藏,图片看不到)}

# 插入网络图

url = 'https://python.org/logo.png'

image_data = io.BytesIO(urllib2.urlopen(url).read())

worksheet.insert_image('B5', url, {'image_data': image_data})

5、插入文本框

5.1、insert_textbox(row, col, textbox[, options])

参数说明

textbox:文字内容

options可选项:width | height | x_scale | y_scale | x_offset | y_offset | object_position | line | border | fill | gradient | font | align | text_rotation | textlink | url | tip

6、设计排版

6.1、worksheet.merge_rangee(first_row, first_col, last_row, last_col, data[, cell_format ])

参数介绍略

6.2、freeze_panes(row, col[, top_row, left_col ])

# 调整列宽

worksheet.set_columns(1, 1, 15)

worksheet.set_columns('A:A', 15)

7、关闭excel

workbook.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值