Python操作Excel的四个工具包

  • xlrd: 对Excel进行读相关操作,注意只能操作 .xls
  • xlwt: 对Excel进行写相关操作,注意只能操作 .xls,且只能创建一个全新的Excel然后进行写入和保存。
  • xlutils:对Excel进行读、写相关操作,注意只能操作 .xls
  • openpyxl: 对Excel进行读、写相关操作,可操作 2010版的 .xlsx / .xlsm

工具包Python官网相关介绍文档

xlrd 简单使用

#!/usr/bin/env python
#-*- coding:utf-8 -*- import xlrd
import os def read_excel(line_num, table_name='Sheet1', excel_name='/FAQ.xls', excel_path='../../resource/):
'''
@param line_num: 行/列索引
@param table_name: 表名
@param excel_name: Excel文件名
@param excel_path: Excel文件路径
@return : data 读取到的数据
'''
file_path = os.path.normpath(os.path.join(os.path.dirname(__file__), excel_path + excel_name ))
with xlrd.open_workbook(file_path) as f:
table = f.sheet_by_name(table_name)
#nrows = table.nrows #遍历所有行
data = table.row_values(line_num) #读取行数据
#nrows = table.ncols #遍历所有列
#data = table.col_values(line_num) #读取列数据 return data

xlutils 简单使用

#!/usr/bin/env python
#-*- coding:utf-8 -*- import xlrd
import os
from xlutils import copy def write_excel(row, col, data, sheet_index=0, excel_name='/FAQ.xls', excel_path='../../resource/):
'''
@param row: 行索引
@param col: 列索引
@param data: 需写入的数据
@param sheet_index: 表索引
@param excel_name: Excel文件名
@param excel_path: Excel文件路径
@return :
'''
file_path = os.path.normpath(os.path.join(os.path.dirname(__file__), excel_path + excel_name ))
with xlrd.open_workbook(file_path, formatting_info=True) as wb:
new_wb = copy(wb)
new_sheet = new_wb.get_sheet(sheet_index) #设置单元格背景颜色0-Black,1=White,2=Red,3=Green,4=Blue,5=Yellow,6=Magenta
style = 'pattern: pattern solid_pattern, pattern_fore_colour 3;' #设置单元格背景颜色
style += 'font: name arial;" #字体
style += 'alignment: horz CENTER, vert CENTER; ' #居中
style += ' borders: left DASHED, right DASHED, top DASHED, bottom DASHED' #边框 new_sheet.write(row, col, data, style )
#new_wb.save(file_path) #原Excel上修改和保存
new_wb.save(os.path.splitext(file_path)[0] + '.out' + os.path.splitext(file_path)[-1]) #保存新的Excel,输出为 FAQ.out.xls

Python模块学习之xlrd、xlutils、openpyxl 读写/追加Excel文件的更多相关文章

  1. Python模块学习之xlrd 读取Excel时传入formatting_info=True报错:NotImplementedError: formatting_info=True not yet implemented

    问题:xlrd读取Excel时传入 formatting_info=True 报错 之前我们使用读取xls文件的时候都是使用的xlrd库,但是这个库只能操作 .xls格式,对于后来的 .xlsx的版本 ...

  2. 【转】Python xlrd、xlwt、xlutils读取、修改Excel文件

    Python xlrd.xlwt.xlutils读取.修改Excel文件 一.xlrd读取excel 这里介绍一个不错的包xlrs,可以工作在任何平台.这也就意味着你可以在Linux下读取Excel文 ...

  3. 【目录】Python模块学习系列

    目录:Python模块学习笔记 1.Python模块学习 - Paramiko  - 主机管理 2.Python模块学习 - Fileinput - 读取文件 3.Python模块学习 - Confi ...

  4. 【转】Python模块学习 - fnmatch & glob

    [转]Python模块学习 - fnmatch & glob 介绍 fnmatch 和 glob 模块都是用来做字符串匹配文件名的标准库. fnmatch模块 大部分情况下使用字符串匹配查找特 ...

  5. Python模块学习filecmp文件比较

    Python模块学习filecmp文件比较 filecmp模块用于比较文件及文件夹的内容,它是一个轻量级的工具,使用非常简单.python标准库还提供了difflib模块用于比较文件的内容.关于dif ...

  6. 转 Python - openpyxl 读写操作Excel

    Python - openpyxl 读写操作Excel   openpyxl特点   openpyxl(可读写excel表)专门处理Excel2007及以上版本产生的xlsx文件,xls和xlsx之间 ...

  7. python读、写、修改、追写excel文件

    三个工具包 python操作excel的三个工具包如下 xlrd: 对excel进行读相关操作 xlwt: 对excel进行写相关操作 xlutils: 对excel读写操作的整合 注意,只能操作.x ...

  8. Python:将爬取的网页数据写入Excel文件中

    Python:将爬取的网页数据写入Excel文件中 通过网络爬虫爬取信息后,我们一般是将内容存入txt文件或者数据库中,也可以写入Excel文件中,这里介绍关于使用Excel文件保存爬取到的网页数据的 ...

  9. Python模块学习 - openpyxl读写excel

    openpyxl模块介绍 openpyxl模块是一个读写Excel 2010文档的Python库,如果要处理更早格式的Excel文档,需要用到额外的库,openpyxl是一个比较综合的工具,能够同时读 ...

随机推荐

  1. 多线程12-ManualResetEventSlim

        ));             ));             ));             t1.Start();             t2.Start();              ...

  2. POJ-1502 MPI Maelstrom 迪杰斯特拉+题解

    POJ-1502 MPI Maelstrom 迪杰斯特拉+题解 题意 题意:信息传输,总共有n个传输机,先要从1号传输机向其余n-1个传输机传输数据,传输需要时间,给出一个严格的下三角(其实就是对角线 ...

  3. Codeforces 1159F Winding polygonal line(叉积)

    其实这个几何写起来还是比较方便,只用到了叉积.首先我们贪心的考虑一种情况,对于任意给定的LR串,我们起点的选择肯定是在这些点围成的凸包端点上,对于这样的起点来说,他对于L或者R都是有选择的机会,而且一 ...

  4. python sys模块导入和模块的使用

    sys故名思意,就是系统模块,系统模块内置很多方法,怎么样去调用方法呢 1,argv 参数 sys.argv() 2,exit() 退出程序 sys.exit() 3,version  获取版本信息 ...

  5. 回溯---N皇后

    N 皇后 51. N-Queens (Hard) 题目描述:   在n*n的矩阵中摆放n个皇后,并且每个皇后不能在同一列,同一个对角线上,求所有的n皇后解. 思路分析:   一行一行地摆放,在确定一行 ...

  6. Canvas和SVG的比较

    Canvas 和 SVG 都允许您在浏览器中创建图形,但是它们在根本上是不同的. SVG SVG 是一种使用 XML 描述 2D 图形的语言. SVG 基于 XML,这意味着 SVG DOM 中的每个 ...

  7. 浅析API和SDK

    前言 最近有小伙伴咨询胡哥关于API和SDK的概念以及区别,今天给大家来阐述下我的理解,手动微笑.gif. API 1. 定义 API(Application Programming Interfac ...

  8. linux 修改 rsyncd.conf 配置文件

    [root@rsync-server-1 ~]# cat > /etc/rsyncd.conf << EOF #Rsync server #created by sunsky 00: ...

  9. This page includes a password or credit card input in a non-secure context. A warning has been added

    此页面包含非安全上下文中的密码或信用卡输入.URL栏中添加了一个警告.有关更多信息,请参阅https://goo.gl/zmWq3m. 因为你的页面里面有input type是password,谷歌浏 ...

  10. JSP和Servlet及浏览器与tomcat交互过程

    JSP与SERVLET区别 JSP在本质上就是Servlet,但是两者的创建方式不一样. JSP由HTML代码和JSP标签构成,可以方便地编写动态网页.因此在实际应用中采用Servlet来控制业务流程 ...