Python模块学习之xlrd、xlutils、openpyxl 读写/追加Excel文件
Python操作Excel的四个工具包
- xlrd: 对Excel进行读相关操作,注意只能操作 .xls
- xlwt: 对Excel进行写相关操作,注意只能操作 .xls,且只能创建一个全新的Excel然后进行写入和保存。
- xlutils:对Excel进行读、写相关操作,注意只能操作 .xls
- openpyxl: 对Excel进行读、写相关操作,可操作 2010版的 .xlsx / .xlsm
工具包Python官网相关介绍文档
- xlrd: http://xlrd.readthedocs.io/en/latest/
- xlwt: http://xlwt.readthedocs.io/en/latest/
- xlutils: http://xlutils.readthedocs.io/en/latest/
- openpyxl: http://openpyxl.readthedocs.io/en/latest/
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文件的更多相关文章
- Python模块学习之xlrd 读取Excel时传入formatting_info=True报错:NotImplementedError: formatting_info=True not yet implemented
问题:xlrd读取Excel时传入 formatting_info=True 报错 之前我们使用读取xls文件的时候都是使用的xlrd库,但是这个库只能操作 .xls格式,对于后来的 .xlsx的版本 ...
- 【转】Python xlrd、xlwt、xlutils读取、修改Excel文件
Python xlrd.xlwt.xlutils读取.修改Excel文件 一.xlrd读取excel 这里介绍一个不错的包xlrs,可以工作在任何平台.这也就意味着你可以在Linux下读取Excel文 ...
- 【目录】Python模块学习系列
目录:Python模块学习笔记 1.Python模块学习 - Paramiko - 主机管理 2.Python模块学习 - Fileinput - 读取文件 3.Python模块学习 - Confi ...
- 【转】Python模块学习 - fnmatch & glob
[转]Python模块学习 - fnmatch & glob 介绍 fnmatch 和 glob 模块都是用来做字符串匹配文件名的标准库. fnmatch模块 大部分情况下使用字符串匹配查找特 ...
- Python模块学习filecmp文件比较
Python模块学习filecmp文件比较 filecmp模块用于比较文件及文件夹的内容,它是一个轻量级的工具,使用非常简单.python标准库还提供了difflib模块用于比较文件的内容.关于dif ...
- 转 Python - openpyxl 读写操作Excel
Python - openpyxl 读写操作Excel openpyxl特点 openpyxl(可读写excel表)专门处理Excel2007及以上版本产生的xlsx文件,xls和xlsx之间 ...
- python读、写、修改、追写excel文件
三个工具包 python操作excel的三个工具包如下 xlrd: 对excel进行读相关操作 xlwt: 对excel进行写相关操作 xlutils: 对excel读写操作的整合 注意,只能操作.x ...
- Python:将爬取的网页数据写入Excel文件中
Python:将爬取的网页数据写入Excel文件中 通过网络爬虫爬取信息后,我们一般是将内容存入txt文件或者数据库中,也可以写入Excel文件中,这里介绍关于使用Excel文件保存爬取到的网页数据的 ...
- Python模块学习 - openpyxl读写excel
openpyxl模块介绍 openpyxl模块是一个读写Excel 2010文档的Python库,如果要处理更早格式的Excel文档,需要用到额外的库,openpyxl是一个比较综合的工具,能够同时读 ...
随机推荐
- 多线程12-ManualResetEventSlim
)); )); )); t1.Start(); t2.Start(); ...
- POJ-1502 MPI Maelstrom 迪杰斯特拉+题解
POJ-1502 MPI Maelstrom 迪杰斯特拉+题解 题意 题意:信息传输,总共有n个传输机,先要从1号传输机向其余n-1个传输机传输数据,传输需要时间,给出一个严格的下三角(其实就是对角线 ...
- Codeforces 1159F Winding polygonal line(叉积)
其实这个几何写起来还是比较方便,只用到了叉积.首先我们贪心的考虑一种情况,对于任意给定的LR串,我们起点的选择肯定是在这些点围成的凸包端点上,对于这样的起点来说,他对于L或者R都是有选择的机会,而且一 ...
- python sys模块导入和模块的使用
sys故名思意,就是系统模块,系统模块内置很多方法,怎么样去调用方法呢 1,argv 参数 sys.argv() 2,exit() 退出程序 sys.exit() 3,version 获取版本信息 ...
- 回溯---N皇后
N 皇后 51. N-Queens (Hard) 题目描述: 在n*n的矩阵中摆放n个皇后,并且每个皇后不能在同一列,同一个对角线上,求所有的n皇后解. 思路分析: 一行一行地摆放,在确定一行 ...
- Canvas和SVG的比较
Canvas 和 SVG 都允许您在浏览器中创建图形,但是它们在根本上是不同的. SVG SVG 是一种使用 XML 描述 2D 图形的语言. SVG 基于 XML,这意味着 SVG DOM 中的每个 ...
- 浅析API和SDK
前言 最近有小伙伴咨询胡哥关于API和SDK的概念以及区别,今天给大家来阐述下我的理解,手动微笑.gif. API 1. 定义 API(Application Programming Interfac ...
- linux 修改 rsyncd.conf 配置文件
[root@rsync-server-1 ~]# cat > /etc/rsyncd.conf << EOF #Rsync server #created by sunsky 00: ...
- 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,谷歌浏 ...
- JSP和Servlet及浏览器与tomcat交互过程
JSP与SERVLET区别 JSP在本质上就是Servlet,但是两者的创建方式不一样. JSP由HTML代码和JSP标签构成,可以方便地编写动态网页.因此在实际应用中采用Servlet来控制业务流程 ...