详解xlsxwriter 操作Excel的常用API
我们知道可以通过pandas 对excel 中的数据进行处理分析,但是pandas本身对格式化数据方面提供了很少的支持,如果我们想对pandas进行数据分析后的数据进行格式化相关操作,我们可以使用xlsxwriter,本文就对xlsxwriter的常见excel格式化方法进行介绍!这里需要强调一下xlsxwriter只支持excel的新建写入操作!(会对原有的同名excel文件进行覆盖)
xlsxwriter常用API
安装方法
pip install xlsxwriter
最基础的写入数据操作代码如下:
workbook = xlsxwriter.Workbook('test1.xlsx')
worksheet = workbook.add_worksheet()
worksheet.write_row(0,0, ['测试excel的格式化'])
workbook.close()
其中write_row的api参数介绍如下:
def write_row(self, row, col, data, cell_format=None):
"""
Write a row of data starting from (row, col).
Args:
row: The cell row (zero indexed).
col: The cell column (zero indexed).
data: A list of tokens to be written with write().
format: An optional cell Format object.
Returns:
0: Success.
other: Return value of write() method.
row 和col就是行列信息,
这里需要注意参数data是一个list,向不同列写入数据,就是在list中添加不同的数据。
worksheet.write_row(0,0, ['测试excel的格式化',1.99])
即分别在单元格A1 和B1写入数据,接下来我们就来看看write_row 中的另一个参数format,这是我们重点讨论的内容!常见的设置如下:
workbook.add_format({'bold': True, 'align': 'center', 'border': True,'bg_color': '00CC66','font_color':'red', 'num_format':'0.00'})
看属性名称就会猜到其功能
'bold': True 设置字符粗体、
'align': 'center' 居中显示文字
'border': True, 单元格设置边框
'bg_color': '00CC66' 单元格背景颜色为绿色
'font_color':'red',单元格字符颜色为红色
'num_format':'0.00' 单元格数字进行格式化
下面我们直接上代码
import xlsxwriter
workbook = xlsxwriter.Workbook('test1.xlsx')
worksheet = workbook.add_worksheet()
worksheet.set_column('A:B', 30)
cells_format = workbook.add_format({'bold': True, 'align': 'center', 'border': True,'bg_color': '00CC66','font_color':'red','num_format':'0.00'})
data_format=workbook.add_format({'num_format':'0.00'})
worksheet.write_row(0,0, ['测试excel的格式化',1.99],cells_format)
workbook.close()
excel 展示内容如下,可以看到我们设置的属性内容都生效了
其他属性还包括:
Category | Description | Property | Method Name |
Font | Font type | 'font_name' | |
Font size | 'font_size' | ||
Font color | 'font_color' | ||
Bold | 'bold' | ||
Italic | 'italic' | ||
Underline | 'underline' | ||
Strikeout | 'font_strikeout' | ||
Super/Subscript | 'font_script' | ||
Number | Numeric format | 'num_format' | |
Protection | Lock cells | 'locked' | |
Hide formulas | 'hidden' | ||
Alignment | Horizontal align | 'align' | |
Vertical align | 'valign' | ||
Rotation | 'rotation' | ||
Text wrap | 'text_wrap' | ||
Reading order | 'reading_order' | ||
Justify last | 'text_justlast' | ||
Center across | 'center_across' | ||
Indentation | 'indent' | ||
Shrink to fit | 'shrink' | ||
Pattern | Cell pattern | 'pattern' | |
Background color | 'bg_color' | ||
Foreground color | 'fg_color' | ||
Border | Cell border | 'border' | |
Bottom border | 'bottom' | ||
Top border | 'top' | ||
Left border | 'left' | ||
Right border | 'right' | ||
Border color | 'border_color' | ||
Bottom color | 'bottom_color' | ||
Top color | 'top_color' | ||
Left color | 'left_color' | ||
Right color | 'right_color' |
data_validation
有的时候我们还需要在excel中的cell里添加选项列表,具体实现如下:
worksheet.data_validation('C1', {"validate": "list", "source": ["新增", "待优化", "已优化", "已验证", "不优化"]})
效果如下所示:
想了解更多关于xlswriter 操作Excel的高级应用,可以参考文章:
https://blog.csdn.net/liwenxiang629/article/details/138673004
我的每一篇文章都希望帮助读者解决实际工作中遇到的问题!如果文章帮到了您,劳烦点赞、收藏、转发!您的鼓励是我不断更新文章最大的动力!
原文地址:https://blog.csdn.net/liwenxiang629/article/details/138670918
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!