Python 操作excel day5
一、Python操作excel
python操作excel使用xlrd、xlwt和xlutils模块
1、xlrd模块是读取excel的;
2、xlwt模块是写excel的;
3、xlutils是用来修改excel的;
二、前置条件:
使用pip install安装各模块
pip install xlrd
pip install xlwt
pip install xlutils
三、xlrd模块,xlrd模块用来读excel,具体用法如下:
import xlrd
#此模块只能读不能写
book = xlrd.open_workbook(r'/Users/smh/Desktop/名单.xlsx')
sheet1 = book.sheet_by_index(0)#用下标取sheet
sheet2 = book.sheet_by_name('作业')#用名字取sheet
print('第一行内容',sheet2.row_values(0))#row_values()取某一行的数据
print('第一列内容',sheet2.col_values(0))#col_values()取某一列的数据
print('第二行第一列内容',sheet2.cell(1,0).value)#取指定单元格的内容
print('一共有%s行'%sheet2.nrows)#多少行
print('一共有%s列'%sheet2.ncols)#多少列
四、xlwt模块,xlwt模块用来写excel,写一个新的excel
import xlwt
#将列表list1写入到excel中
book = xlwt.Workbook() list1=[
[1,'xiaohei','beijing','','女'],
[2,'xiaobai','shanghai','','男'],
[3,'xiaolan','chengdu','','女'],
] a= list1[0]
len(a)#每一个列的元素长度
len(list1)#列表长度
#第一种方法:
sheet = book.add_sheet('no.1 sheet') for i in range(len(list1)):
for j in range(len(list1[0])):
print(list1[i][j])
sheet.write(i,j,list1[i][j]) book.save(r'/Users/smh/Desktop/test1.xlsx')
#第二种方法:(从第二行开始写入)
row = 1 #行号 for row_data in list1:
col = 0
for col_data in row_data:
sheet.write(row,col,col_data)
col += 1#写完一列,列号加1
row += 1#写完一行,行号加1 book.save('test2.xls') #第三种方法,使用枚举函数:(从第二行开始写入)
for row,row_data in enumerate(list1,1):
for col,col_data in enumerate(row_data):
sheet.write(row,col,col_data)
book.save('test3.xls')
五、xlutils模块,xlutils模块用来修改excel的内容,不能直接修改原来的excel内容,必须得先复制一个新的excel,然后对这个新的excel进行修改,用法如下:
import xlrd
from xlutils import copy #与import xlutils的区别:调用xlutils里的方法则不需要xlutils.copy.copy()方法,直接调用copy.copy()
#from xlutils.copy import copy 调用直接copy()
#1、打开一个excel
#2、复制一份
#3、修改 book = xlrd.open_workbook('test2.xls')
new_book = copy.copy(book)#复制一份 #print(dir(new_book))
sheet = new_book.get_sheet(0)#获取sheet页
title = ['编号','名字','地址','电话','性别']
for col,t in enumerate(title):
sheet.write(0,col,t)
new_book.save('test2.xls')
Python 操作excel day5的更多相关文章
- python操作excel表格(xlrd/xlwt)
最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究&q ...
- Python操作Excel
一.系统性学习 对于操作Excel,需要Xlrd/xlwt这两个模块,下面推荐出系统性学习的网址: python操作Excel读写--使用xlrd 官方文档 Python 使用 Xlrd/xlwt 操 ...
- Python操作excel(xlrd和xlwt)
Python操作excel表格有很多支持的库,例如:xlrd.xlwt.openpyxl.win32com,下面介绍使用xlrd.xlwt和xlutils模块这三个库不需要其他的支持,在任何操作系统上 ...
- Python操作excel表格
用Python操作Excel在工作中还是挺常用的,因为毕竟不懂Excel是一个用户庞大的数据管理软件 注:本篇代码在Python3环境下运行 首先导入两个模块xlrd和xlwt,xlrd用来读取Exc ...
- Python 利用Python操作excel表格之openyxl介绍Part2
利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436) ## 绘图 c = LineChart() ...
- Python 利用Python操作excel表格之openyxl介绍Part1
利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436),免费获取以下性能监控工具(类似Nmon精简版) ...
- 【转】python操作excel表格(xlrd/xlwt)
[转]python操作excel表格(xlrd/xlwt) 最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异, ...
- Python 利用Python操作excel表格之xlwt介绍
利用Python操作excel表格之xlwt介绍 by:授客 QQ:1033553122 直接上代码 案例1 #!/usr/bin/env python # -*- coding:utf-8 ...
- Python 操作Excel之通过xlutils实现在保留原格式的情况下追加写入数据
在Python操作Excel 的模块有 xlrd.xlwt.xlutils等. xlrd:读取Excel文件数据 xlwt:写入Excel 数据,缺点是Excel格式无法复用,为了方便用户,写入的话, ...
随机推荐
- WEB安全实战(四)关于 Cookie
前言 这几天中,一直再跟漏洞打交道,而在这些漏洞中,出现的最多的就是 Cookie 和 Session 了.这篇文章就简单的介绍一些 Cookie 中最经常使用的四个属性.也算是为兴许的文章做一个铺垫 ...
- python 变量作用域 v.__sizeof__() python 深复制 一切皆对象 尽量减少内存消耗
python 深入理解 赋值.引用.拷贝.作用域 - 江召伟 - 博客园 https://www.cnblogs.com/jiangzhaowei/p/5740913.html a=[1,2,5]b= ...
- 【Codevs 1376】帕秋莉•诺蕾姬
http://codevs.cn/problem/1376/ 枚举修改哪两位,将sum减去之前位置的数+交换之后 %m==0即可 预处理26的次方+O(n^2) // <1376.cpp> ...
- 【转】Material Design 折叠效果 Toolbar CollapsingToolbarLayout AppBarLayout
我非常喜欢Material Design里折叠工具栏的效果,bilibili Android客户端视频详情页就是采用的这种设计.这篇文章的第二部分我们就通过简单的模仿bilibili视频详情页的实现来 ...
- 【BZOJ 3211&3038】 花神游历各国 & 上帝造题的七分钟2
[题目链接] [BZOJ 3211] 点击打开链接 [BZOJ 3038] 点击打开链接 [算法] 线段树 开根操作直接开到叶子节点,注意当区间中所有数都是0或1时,不需要开根 [代码] #inclu ...
- ZOJ 3955 Saddle Point 校赛 一道计数题
ZOJ3955 题意是这样的 给定一个n*m的整数矩阵 n和m均小于1000 对这个矩阵删去任意行和列后剩余一个矩阵为M{x1,x2,,,,xm;y1,y2,,,,,yn}表示删除任意的M行N列 对于 ...
- JeePlus:项目部署
ylbtech-JeePlus:项目部署 1.返回顶部 1. 项目部署 1 开发工具:idea/eclipse/myeclipse+ mysql/oracle+tomcat6/7/8. 下面以ecli ...
- Git简介(转载)
转自:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137396284551 ...
- Y-C
1.asp.net服务控件生命周期 11个生命阶段 (1)初始化: 初始化在传入Web请求生命周期内所需的设置,.跟踪视图状态.页面框架通过默认方式引发Init事件,并调用OnInit()方法,控件开 ...
- CF814B An express train to reveries
思路: 模拟,枚举. 实现: #include <iostream> using namespace std; ; int a[N], b[N], cnt[N], n, x, y; int ...