python操作excel,python操作excel使用xlrd、xlwt和xlutils模块,xlrd模块是读取excel的,xlwt模块是写excel的,xlutils是用来修改excel的。这几个模块使用pip安装即可,下面是这几个模块的使用。

import xlrd,xlwt,xlutils
#写excel
book = xlwt.Workbook() #创建一个excel对象
sheet = book.add_sheet('sheet1') #添加一个sheet页面
sheet.write(0,0,'姓名') #第0行第0列最后一个代表单元格的值
sheet.write(0,1,'年龄') #第0行第一列
sheet.write(0,2,'身高') #第0行第二列
sheet.write(1,0,'郝帅')
sheet.write(1,1,'38')
sheet.write(1,2,'150cm')
titile = ['姓名','班级','住址','手机号']
data = [
['红孩儿','观音寺','南海','110'],
['银角大王','天庭','老君炉','120'],
['黄袍怪','鬼道班','某山上','119']
] ####控制tile
i=0 控制列
for j in title:
sheet.write(0,i,j)
i+=1
####控制内容
line = 1 #控制写的行,从第二行开始写
for d in data:
row = 0
for dd in d:
sheet.write(line,row,dd)
row+=1
line+=1 book.save('hh.xls') #写文件保存的是偶必须是xls格式,要不然打不开
上面的代码可以用下面的代替
for d in range(len(data))
for dd in range(len(data[d])):
sheet.write(d+1,dd,data[d][dd])
#读excel
import xlrd
book = xlrd.open_workbook('ggg.xls') #1、先新建一个excel对象
sheet = book.sheet_by_index(0) #2、根据下标获取sheet页
#sheet = book.sheet_by_name() #根据名字获取sheet页面
row= sheet.nrows #获取sheet页的总行数
print(sheet.ncols) #获取sheet页的总列数
print(sheet.cell(1,1)value) #通过行和列获取单个单元格的值 返回str
for i in range(row)
print(sheet.row_values(i)) #获取行里所有的值 返回list '''
示例:将没交作业和交作业的excel里的内容保存到mysql里 insert into jxz_stu (name,cl,c2,c3) values
'''
insert into jxz_stu (name,cl,c2,c3) values ('牛寒阳','交','交','交');
'''
import pymysql,xlwt
def op_mysql(sql):
try :
conn = pymysql.connect(host='211.149.218.16',user='jxz',passwd='123456',port=3306,db='jxz',charset='utf8')
cur = conn.cursor()
except Exception as e :
raise e
else:
try:
cur.execute(sql)
except Exception as e:
raise e
else:
if sql.startswith('select'):
res =cur.fetchall()
else:
conn.commit()
res =88
return res
finally:
cur.close()
conn.close() def is_up(a):
if a:
return '交了'
else:
return '没交'
def copy_excel(filename):
import xlrd
book = xlrd.open_workbook(filename)
sheet = book.sheet_by_index(0)
rows = sheet.nrows
i = 1
for i in range(rows):
res =sheet.row_values(i)
c1 = is_up(res[1])
c2 = is_up(res[2])
c3 = is_up(res[3])
sql ="insert into jxz_stu (name,cl,c2,c3) values ('%s','%s','%s','%s')"%(res[0],c1,c2,c3)
op_mysql(sql)
copy_excel('stu.xlsx')
#####修改excel
'''
修改excel
1、打开一个文件
2、copy一下
3、修改文件
4、删除之前的文件,并且重命名新的文件
'''
from xlrd import open_workbook
from xlutils.copy import copy
import os book = open_workbook('ggg.xls')
new_book = copy(book)# #通过xlutils里面的copy复制一一个excel对象
sheet = new_book.get_sheet(0) # # 通过下标获取到新的excel里面的sheet页
sheet.write(1,1,'fsfads')
new_book.save('jjj.xls')
os.remove('ggg.xls')
os.rename('jj.xls','ggg.xls')

  

python-笔记(操作excel)的更多相关文章

  1. Python读写操作Excel模块_xlrd_xlwt_xlutils

    Python 读写操作Excel -- 安装第三方库(xlrd.xlwt.xlutils.openpyxl) 如果仅仅是要以表单形式保存数据,可以借助 CSV 格式(一种以逗号分隔的表格数据格式)进行 ...

  2. Python“文件操作”Excel篇(上)

    大家好,我们今天来一起探索一下用Python怎么操作Excel文件.与word文件的操作库python-docx类似,Python也有专门的库为Excel文件的操作提供支持,这些库包括xlrd.xlw ...

  3. Python Pandas操作Excel

    Python Pandas操作Excel 前情提要 ☟ 本章使用的 Python3.6 Pandas==0.25.3 项目中需要用到excel的文件字段太多 考虑到后续字段命名的变动以及中文/英文/日 ...

  4. python笔记8 - excel操作

    前提: python操作excel需要使用的模块有xlrd.xlwt.xlutils.对excel进行读.写.更新操作.操作excel时需要先导入这些模块,demo如下: excel-读操作知识点: ...

  5. 09 python学习笔记-操作excel(九)

    python操作excel使用xlrd.xlwt和xlutils模块,xlrd模块是读取excel的,xlwt模块是写excel的,xlutils是用来修改excel的.这几个模块可以使用pip安装, ...

  6. Python 读写操作Excel —— 安装第三方库(xlrd、xlwt、xlutils、openpyxl)

    数据处理是 Python 的一大应用场景,而 Excel 则是最流行的数据处理软件.因此用 Python 进行数据相关的工作时,难免要和 Excel 打交道. 如果仅仅是要以表单形式保存数据,可以借助 ...

  7. Python之操作Excel、异常处理、网络编程

    知识补充: 1.falsk模块中一些方法总结 import flask from flask import request,jsonify server = flask.Flask(__name__) ...

  8. Python - 常规操作Excel - 第二十六天

    前言 作为一名资深程序员,通过代码熟练操作Excel是必不可少的技能,本章主要讲解Python通过openpyxl第三方库(官方文件说明)对Excel进行操作,使Excel程序化操作更为简单快捷. o ...

  9. python中操作excel数据

    python操作excel,python有提供库 本文介绍openpyxl,他只支持新型的excell( xlsx)格式,读取速度还可以 1.安装 pip install openpyxl 2.使用 ...

  10. python简单操作excel

    python操作excel 写入excel # 写入excel import xlwt # 创建xls对象 wb = xlwt.Workbook() # 新增两个表单页(sheet1) sh1 = w ...

随机推荐

  1. HDU 1594 find the max

    数序问题. 题意是说 一个数列 a1,a2,--ai,--an;  x=i , y = ai:找两个点斜率绝对值.!最大. 第一次没找绝对值,--认真读题. .. x 每次加1 . 仅仅须要找 相邻的 ...

  2. Redis---键的过期时间及数据淘汰策略

    5.键的过期时间   Redis可以为每个键设置过期时间,当键过期时,会自动删除该键.   对于散列表这种容器,只能为整个键设置过期时间(整个散列表),而不能为键里面的单个元素设置过期时间. 6.数据 ...

  3. linux中的文件类型以及查看文件类型的方法

    Linux文件类型和文件的文件名所代表的意义是两个不同的概念,在linux中文件类型与文件扩展名没有关系.它不像Windows那样是依靠文件后缀名来区分文件类型的,在linux中文件名只是为了方便操作 ...

  4. 在java程序中利用线程

    package 第十一章; import java.awt.Button; import java.awt.Color; import java.awt.Font; import java.awt.F ...

  5. 3.css3中多个背景图片的用法

    (background-clip裁剪,background-position位置,background-origin定位,background-repeat是否重复) <!DOCTYPE htm ...

  6. css控制文本内容显示省略号

    1,单行文字显示省略号 div{ width:200px; overflow:hideen; white-space:nowrap; text-overflow:ellipsis; } 2,多行文字显 ...

  7. Django rest_frameword 之项目流程

    后端开发软件目录规范 一.Model from django.db import models # Create your models here. # 多表的设计 # 图书 作者 出版社 作者详情表 ...

  8. python基础知识的入门介绍

    一.什么是编程语言 任何词语都是一种高度的概括和总结,所以找关键字.如下: (1)1.什么是"语言":一个人与另一个人沟通的介质 2人将自己的思维逻辑和想法通过计算机能过识别的语言 ...

  9. R语言 绘图——条形图可以将堆积条形图与百分比堆积条形图配合使用

    在使用堆积条形图时候,新增一个百分比堆积条形图,可以加深读者印象. 封装一个function函数后只需要在调用的数据上改一下pos=‘fill’的代码即可.比较方便. 案例: # 封装函数 fun1& ...

  10. 关于ResultSet中getDate\getTime\getTimestamp的区别的记录

    getDate() 返回时间的年月日 getTime() 返回时间的时分秒 getTimestamp () 返回时间的年月日 时分秒