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是一个比较综合的工具,能够同时读 ...
随机推荐
- vue项目 Request Payload改成Form Data
vue项目中提交表单时,请求参数是Request Payload时在main.js中加 axios.defaults.headers.post['Content-Type'] = 'applicati ...
- sql server死锁跟踪
我们知道,可以使用SQL Server自带的Profiler工具来跟踪死锁信息.但这种方式有一个很大的敝端,就是消耗很大.据国外某大神测试,profiler甚至可以占到服务器总带宽的35%,所以,在一 ...
- C#MessageBox 自动关闭窗口
1:MessageBox弹出的模式窗口会先阻塞掉它的父级线程.所以我们可以考虑在MessageBox前先增加一个用于"杀"掉MessageBox窗口的线程.因为需要在规定时间内&q ...
- 中标麒麟系统安装rpm文件
打开终端,获得su权限. cd到rpm所在文件夹,输入指令,rpm -ivh rpm的名称
- python字符串内置函数汇总
1.capitalize 第一个单词首字母大写 2.title 每个单词首字母大写 3.upper 每个字母变大写 4.lower 每个字母变小写 5.len() 字符串长度 6.format() 格 ...
- BUUCTF--findit
测试文件:https://buuoj.cn/files/7b8602971727c6c82ec0d360d5cad2c0/6a428ff2-25d7-403c-b28e-3f980a10a5a2.ap ...
- Could not load file or assembly system.data.sqlite.dll or one for it's depedencies
最近做一个winform项目,因为数据库用的表很少,所以用的是轻量级数据库sqlite.sqlite的优点很多,但是他要分两个版本,32位或者64位,不能同时兼容. 我遇到的问题是,我在开发端用的是. ...
- 如何利用Chrome进行跨域调试
为什么要跨域调试: 拿嵌入式web开发说,代码都是跑在板子上,我一个优雅的前端开发要每次改完代码都打包到板子上,用板子的地址打开,这是人做的事??? 怎么跨域调试: 1.升级Chrome为最新版本 2 ...
- Redux中间件之redux-thunk使用详解
Redux的核心概念其实很简单:将需要修改的state都存入到store里,发起一个action用来描述发生了什么,用reducers描述action如何改变state tree .创建store的时 ...
- IncDec Sequence (差分)
题目地址 这道题可以用来检测一下你是否学会了差分,或者你可以更加透彻的理解差分 我们把 \(cf[]\) (差分)数组拿出了,就可以发现这道题就是每次可以在 \(cf[]\)中 选两个数,一个+1,一 ...