Python操作Excel可以使用xlwt模块(写)和xlrd模块(读),下面进行简单说明。

文章目录

  • 系列文章
  • 一、xlwt模块
    • 1、基本使用
    • 2、设置样式
  • 二、xlrd模块

系列文章

Python 学习 01 —— Python基础
Python 库学习 —— urllib 学习
Python 库学习 —— BeautifulSoup4学习
Python 库学习 —— Re 正则表达式
Python 库学习 —— Excel存储(xlwt、xlrd)
Python 学习 02 —— Python爬虫
Python 库学习 —— Flask 基础学习


一、xlwt模块

1、基本使用

import xlwt
# 1.创建Workbook对象并设置编码(通常是设置为utf-8)
workbook = xlwt.Workbook(encoding="utf-8")
# 2.创建一个worksheet(就是Excel最下面那个选项页)
worksheet = workbook.add_sheet("MySheet")
# 3.写入Excel,write(a, b, c)参数:行,列,值
worksheet.write(0, 0, "Hello Python")
# 4.保存(后缀 xls是2003版Excel,xlsx是2017之后的,可以保存更多内容)
workbook.save("FirstExcel.xlsx")

运行结果:

2、设置样式

import xlwtworkbook = xlwt.Workbook(encoding="utf-8")
worksheet = workbook.add_sheet("MySheet")style = xlwt.XFStyle()  # 初始化样式
font = xlwt.Font()  # 为样式创建字体
font.name = 'Times New Roman'
font.bold = True  # 黑体
font.underline = True  # 下划线
font.italic = True  # 斜体字
style.font = font  # 设定样式
worksheet.write(0, 0, 'Unformatted value')  # 不带样式的写入
worksheet.write(1, 0, 'Formatted value', style)  # 带样式的写入workbook.save("SecondExcel.xls")

运行结果:

3、其他设置

import xlwt
import datetimeworkbook = xlwt.Workbook(encoding="utf-8")
worksheet = workbook.add_sheet("MySheet")# 设置单元格宽度
worksheet.col(0).width = 3333# 输入日期到单元格
style = xlwt.XFStyle()
# D-MMM-YY、D-MMM、MMM-YY、h:mm、h:mm:ss、h:mm、h:mm:ss、M/D/YY h:mm、mm:ss
style.num_format_str = 'M/D/YY'
worksheet.write(0, 0, datetime.datetime.now(), style)# 添加一个公式
worksheet.write(0, 0, 5)  # Outputs 5
worksheet.write(0, 1, 2)  # Outputs 2
worksheet.write(1, 0, xlwt.Formula('A1*B1'))  # Should output "10" (A1[5] * A2[2])
worksheet.write(1, 1, xlwt.Formula('SUM(A1,B1)'))  # Should output "7" (A1[5] + A2[2])# 添加超链接:输出链接到 http://www.google.com 的文本 "Google"
worksheet.write(0, 0, xlwt.Formula('HYPERLINK("http://www.google.com";"Google")'))# 合并行和列
worksheet.write_merge(0, 0, 0, 3, 'First Merge')# 设置对齐方式
alignment = xlwt.Alignment()
# 其他选择: HORZ_GENERAL, HORZ_LEFT, HORZ_CENTER, HORZ_RIGHT, HORZ_FILLED, HORZ_JUSTIFIED, HORZ_CENTER_ACROSS_SEL, HORZ_DISTRIBUTED
alignment.horz = xlwt.Alignment.HORZ_CENTER
# 其他选择: VERT_TOP, VERT_CENTER, VERT_BOTTOM, VERT_JUSTIFIED, VERT_DISTRIBUTED
alignment.vert = xlwt.Alignment.VERT_CENTER
style = xlwt.XFStyle()
style.alignment = alignment
worksheet.write(0, 0, 'Cell Contents', style)# 添加边框
borders = xlwt.Borders()
# 选项: DASHED虚线、NO_LINE没有、THIN实线
borders.left = xlwt.Borders.DASHED
borders.right = xlwt.Borders.DASHED
borders.top = xlwt.Borders.DASHED
borders.bottom = xlwt.Borders.DASHED
# 设置边框宽度
borders.left_colour = 0x40
borders.right_colour = 0x40
borders.top_colour = 0x40
borders.bottom_colour = 0x40
style = xlwt.XFStyle()
style.borders = borders
worksheet.write(0, 0, 'Cell Contents', style)# 设置单元格背景色
pattern = xlwt.Pattern()
pattern.pattern = xlwt.Pattern.SOLID_PATTERN # May be: NO_PATTERN, SOLID_PATTERN, or 0x00 through 0x12
pattern.pattern_fore_colour = 5 # May be: 8 through 63. 0 = Black, 1 = White, 2 = Red, 3 = Green, 4 = Blue, 5 = Yellow, 6 = Magenta, 7 = Cyan, 16 = Maroon, 17 = Dark Green, 18 = Dark Blue, 19 = Dark Yellow , almost brown), 20 = Dark Magenta, 21 = Teal, 22 = Light Gray, 23 = Dark Gray, the list goes on...
style = xlwt.XFStyle() # Create the Pattern
style.pattern = pattern # Add Pattern to Style
worksheet.write(0, 0, 'Cell Contents', style)workbook.save("SecondExcel.xls")

二、xlrd模块

1、获取book的工作表

# 如果路径或者文件名有中文,就给前面加一个r字符或者进行转码
data = xlrd.open_workbook(r"FirstExcel.xlsx") # 加r
filename = filename.decode('utf-8') # 转码table = data.sheets()[0] # 通过索引顺序获取
table = data.sheet_by_index(0)) # 通过索引顺序获取
table = data.sheet_by_name(sheet_name) # 通过名称获取# 以上三个函数都会返回一个xlrd.sheet.Sheet()对象
names = data.sheet_names()    #返回book中所有工作表的名字
data.sheet_loaded(sheet_name or indx)   # 检查某个sheet是否导入完毕

2、行操作

nrows = table.nrows  #获取该sheet中的有效行数table.row(rowx)  #返回由该行中所有的单元格对象组成的列表table.row_slice(rowx)  #返回由该列中所有的单元格对象组成的列表table.row_types(rowx, start_colx=0, end_colx=None)    #返回由该行中所有单元格的数据类型组成的列表table.row_values(rowx, start_colx=0, end_colx=None)   #返回由该行中所有单元格的数据组成的列表table.row_len(rowx) #返回该列的有效单元格长度

3、列操作

ncols = table.ncols   #获取列表的有效列数table.col(colx, start_rowx=0, end_rowx=None)  #返回由该列中所有的单元格对象组成的列表table.col_slice(colx, start_rowx=0, end_rowx=None)  #返回由该列中所有的单元格对象组成的列表table.col_types(colx, start_rowx=0, end_rowx=None)    #返回由该列中所有单元格的数据类型组成的列表table.col_values(colx, start_rowx=0, end_rowx=None)   #返回由该列中所有单元格的数据组成的列表

4、单元格的操作

table.cell(rowx,colx)   #返回单元格对象table.cell_type(rowx,colx)    #返回单元格中的数据类型table.cell_value(rowx,colx)   #返回单元格中的数据

Python 库学习 —— Excel存储(xlwt、xlrd)相关推荐

  1. 深度学习常用python库学习笔记

    深度学习常用python库学习笔记 常用的4个库 一.Numpy库 1.数组的创建 (1)np.array() (2)np.zeros() (3)np.ones() (4)np.empty() (5) ...

  2. python库怎么学啊最好_最常用的几个python库--学习引导

    核心库 1.NumPy 当我们用python来处理科学计算任务时,不可避免的要用到来自SciPy Stack的帮助.SciPy Stack是一个专为python中科学计算而设计的软件包,注意不要将它与 ...

  3. 【python】解析Excel中使用xlrd库、xlwt库操作,使用xluils库修改Excel文件详解(三)...

    之前介绍了读和写excel,前两种都不是修改excel的,但是在实际的工作中,经常会遇到修改已经存在的Excel文件这种需求.xlrd中put_cell可以实现原表格上简单的写入,而xlwt直接生成新 ...

  4. python如何创建excel文件_Python xlrd/xlwt 创建excel文件及常用操作

    一.创建excel代码 备注:封装好了(可直接调用) """ -*- coding:utf-8 -*- @Time :2020/8/20 21:02 @Author :J ...

  5. Python Excel操作 xlwt xlrd xlutils三个模块的使用,不删除表,往后累加数据

    目录 主要代码 其他类引用代码 Python对Excel表格进行操作(不删除表,往后累加数据) 用时需改变五个参数和自己重新定义AddData方法 self.tableName='设置速度报文测试'# ...

  6. Python库学习-Pandas

    文章目录 1.序列与数据框创建(Series,DataFrame) 2.读取外部数据 3.数据类型转换及描述统计 4.字符与日期数据处理 5.常用的数据清洗方法 5.1 重复观测处理 5.2 缺失值处 ...

  7. python库学习笔记——分组计算利器:pandas中的groupby技术

    最近处理数据需要分组计算,又用到了groupby函数,温故而知新. 分组运算的第一阶段,pandas 对象(无论是 Series.DataFrame 还是其他的)中的数据会根据你所提供的一个或多个键被 ...

  8. Python 库学习笔记—— BeautifulSoup 处理子标签、后代标签、兄弟标签和父标签

    首先,我们来看一个简单的网页https://www.pythonscraping.com/pages/page3.html,打开后: 右键"检查"(谷歌浏览器)查看元素: 用导航树 ...

  9. python库学习之you-get

    作为b站的粉丝,在逛的时候,收藏过很多制作精良.满满都是干货的视频,然鹅,一段时间过去,这些视频可能会下架,因此,如何能把这些视频及时保存下来,就成了一大心事,直到遇到了you-get!!!

  10. xlwt/xlrd库的区别

    在构建词典的过程中,查了许多资料.由于自己本身是一个编程小白,甚至连xlwt/xlrd库是否有区别也没弄懂,从获取来的资料中进行一些总结,希望能够给即将开始实验的小白一些启发: 1. xlwt/xlr ...

最新文章

  1. python创建csv文件并写入-【已解决】Python中创建和保存数据到csv文件中
  2. 分布式监控报警平台Centreon之:Centreon依赖安装
  3. Windows Mobile 开发工具和资源
  4. android 等待按钮框架,Android 开发 MaterialDialog框架的详解
  5. PCL:PCL1.9.0更新
  6. 光敏电阻控制led亮度程序_单片机开发系统学习LED亮度控制原理
  7. eclipse 方法补全快捷键设置
  8. 有人说如果车速每小时超过120公里,爆胎时无法挽回是真的吗?
  9. 软景php,你不得不知的软景配置标准
  10. Favorites整理v2011
  11. linux docker状态,Linux之Docker
  12. python第二天3.1
  13. C# winform 模拟选中并点击某一行DataGridView数据
  14. [转]overflow解决float浮动后高度自适应问题
  15. 索引越界异常Exception java.lang.IndexOutOfBoundsException
  16. 相机和镜头选型计算公式
  17. ModSecurity的规则
  18. python如何爬取煎蛋图片(js)
  19. 版权登记助手大师小程序开发
  20. 电容器功率密度和能量密度

热门文章

  1. 上海行政区划经纬度地图_高德AMAP行政区划边界及经纬度获取
  2. 基于飞桨PaddlePaddle的地标检索识别夺竞赛双料大奖,获奖方案全解析
  3. Android混淆注意事项
  4. 证明一维热传导方程为抛物型方程
  5. amd cpu安装osx 10.9.2(同样适应intel构架)
  6. 解决IDM下载城通网盘,一个网站不允许请求同一个文件两次,即使设置了快捷键也无用的问题
  7. 用HTML绘制三线表,R语言-临床三线表
  8. IntelliJ IDEA入门教程:如何使用工具窗口
  9. 数据分析 超市条码_京东超市11.11酒类1分钟成交额破亿 持续夯实行业领先优势...
  10. 使用阿里云服务器搭建自己的个人网站