python-写入excel(xlswriter)

python-写入excel(xlswriter)

大家好,又见面了,我是全栈君。

 一、安装xlrd模块:

1、mac下打开终端输入命令:

pip install XlsxWriter

2、验证安装是否成功:

  • 在mac终端输入 python  进入python环境
  • 然后输入 import xlswriter

  不报错说明模块安装成功

 

二、常用方法:

1、创建excel文件

# 创建文件
workbook = xlsxwriter.Workbook("new_excel.xlsx"

 

2、创建sheet

# 创建sheet
worksheet = workbook.add_worksheet("first_sheet"

 

3、特定单元格里写入数据

a) 写入文本

# 法一:
worksheet.write('A1', 'write something')
# 法二:
worksheet.write(1, 0, 'hello world')

b)写入数字

# 写入数字
worksheet.write(0, 1, 32)
worksheet.write(1, 1, 32.3)

c)写入函数

worksheet.write(2, 1, '=sum(B1:B2)')

d)写入图片

# 插入图片
worksheet.insert_image(0, 5, 'test.png')
worksheet.insert_image(0, 5, 'test.png', {
   
   'url': 'http://httpbin.org/'})

e)写入日期:

# 写入日期
d = workbook.add_format({
   
   'num_format': 'yyyy-mm-dd'})
worksheet.write(0, 2, datetime.datetime.strptime('2017-09-13', '%Y-%m-%d'), d)

f)设置行、列属性

# 设置行属性,行高设置为40
worksheet.set_row(0, 40)

# 设置列属性,把A到B列宽设置为20
worksheet.set_column('A:B', 20)

 

4、自定义格式:

常用格式:

  • 字体颜色:color
  • 字体加粗:bold
  • 字体大小:font_site
  • 日期格式:num_format
  • 超链接:url
  • 下划线设置:underline
  • 单元格颜色:bg_color
  • 边框:border
  • 对齐方式:align
# 自定义格式
f = workbook.add_format({
   
   'border': 1, 'font_size': 13, 'bold': True, 'align': 'center','bg_color': 'cccccc'})
worksheet.write('A3', "python excel", f)
worksheet.set_row(0, 40, f)
worksheet.set_column('A:E', 20, f)

 

5、批量往单元格写入数据

# 批量往单元格写入数据
worksheet.write_column('A15', [1, 2, 3, 4, 5])  # 列写入,从A15开始
worksheet.write_row('A12', [6, 7, 8, 9])        # 行写入,从A12开始

 

6、合并单元格写入

# 合并单元格写入
worksheet.merge_range(7,5, 11, 8, 'merge_range')

 

7、关闭文件

workbook.close()

 

8、生成图表:

xlswriter还可以用来生成图表,这一部分内容也比较多,下一节单独介绍。

 

示例:

# -*- coding:utf-8 -*-

import xlsxwriter

workbook = xlsxwriter.Workbook("data.xlsx")
worksheet = workbook.add_worksheet()

data = (
    ['kobe', 5000],
    ['T-Mac', 3000],
    ['Jordan', 6000],
    ['James', 5000],
)

f = workbook.add_format({
   
   'bold': True, 'bg_color': 'yellow'})

worksheet.write(0, 0, 'name', f)
worksheet.write(0, 1, 'price', f)

row = 1
col = 0

for item, cost in data:
    worksheet.write(row, col, item)
    worksheet.write(row, col+1, cost)
    row += 1

workbook.close()

 

 

 

参考官网:http://xlsxwriter.readthedocs.io/ 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108155.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python字符串中某个字符修改_Python实现字符串中某个字母的替代功能

    python字符串中某个字符修改_Python实现字符串中某个字母的替代功能今晚想实现这样一个功能:将输入字符串中的字母“i”变成字母“p”。当时想的很简单,直接用for循环遍历,然后替代,出问题的代码如下:name=input(‘随便输入一堆字符吧…’)#name=list(name)name=””.join(name)j=0foriinrange(len(name)):ifname[i]==’i’:name[i]=’p’j=…

    2022年5月2日
    46
  • 计算机网络协议详解怎么写_自考短线好还是长线好

    计算机网络协议详解怎么写_自考短线好还是长线好计算机网络协议详解:本篇文章主要总结一些常见的网络基础概念以及Linux系统中的网络相关设置方法,具体包括OSI七层协议、TCP/IP协议相关内容。

    2022年10月2日
    5
  • Java switch 使用枚举类

    Java switch 使用枚举类开发过程中为了代码的可阅读性和可维护性,很多类型字段往往会习惯使用枚举去定义,可是在一些判断里面想用switch去代替ifelse就会出现以下问题publicenumSexType{MAN(1,”男”),GIRL(2,”女”),;privateinttype;privateStringwork;SexType(inttype,Stringwork){this.type=type;

    2022年7月14日
    16
  • exosip

    exosip

    2021年11月30日
    56
  • 简单的有监督学习实例——简单线性回归[通俗易懂]

    简单的有监督学习实例——简单线性回归[通俗易懂]sklearn.linear_model.LinearRegression线性回归https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html首先,要创建一组数据,随机选取一组x数据,然后计算出它在2x-1这条线附近对应的数据,画出其散点图:#演示简单的线性回归i…

    2022年5月28日
    47
  • 怎么查看线程的状态及interrupt优雅的关闭线程和interrupt()、interrupted()、isInterrupted()的作用以及区别在哪?

    怎么查看线程的状态及interrupt优雅的关闭线程和interrupt()、interrupted()、isInterrupted()的作用以及区别在哪?示例:查看状态:刚才我们讲过,一个线程里面任务正常执行完毕,状态就是TERMINATED,就是终止状态。但是,如果我线程里面的任务一直没有执行完成,我想去终止这个线程,或者我给点信息给到线程里,告诉线程我想终止结束呢!所以我可以强制去关闭线程:线程提供一个stop方法,该方法不建议使用,已经过时了!!因为stop是强行关闭线程,线程里面的任务都不在执行,不管线程的任务是否执行成功与否,就算执行到一半也会强制关闭!导致很多不可控制的结果,比如支付付一半等等!!所以我们要需要去优雅的关闭。什么叫做优雅关

    2025年7月29日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号