Python 操作excel

xlrd模块是读取excel
xlwt模块是写excel
xlutils是用来修改excel

1.读取excel

流程:打开excel-->获取sheet(顺序\sheet名称)-->获取数据(整行\整列\单个)
import xlrd #倒模块
book = xlrd.open_workbook('D:\pythonTest.xlsx') #打开一个excel,根据excel文件格式写后缀
sheet = book.sheet_by_index(0) #根据顺序获取sheet,0表示第一个sheet
sheet2 = book.sheet_by_name('sheetName') #根据sheet页名字获取sheet
print(sheet.cell(0,0).value) #指定行和列获取数据,0行0列代表excel中第一个数据
print(sheet.ncols) #获取excel里面有多少列
print(sheet.nrows) #获取excel里面有多少行
sheet.row_values(1) #取第几行的数据,返回一个列表list
sheet.col_values(1)) #取第几列的数据,返回一个列表list

#获取excel中所有的数据
for i in range(sheet.nrows): # 获取excel中有多少行
     print(sheet.row_values(i))
     #print(' '.join([str(x) for x in sheet.row_values(i)])) #转换str

2.写入数据

流程:创建excel-->添加sheet页-->写入数据-->保存
import xlwt #倒模块
book = xlwt.Workbook() #新建一个excel
sheet = book.add_sheet('sheet1') #添加一个sheet页
sheet.write(0,0,'姓名')#一行一行写入
sheet.write(0,1,'性别')
sheet.write(0,2,'年龄')
book.save('D:\pythonExcel.xls') #微软的office不能用xlsx结尾的,wps随意

#批量写入数据
stus = [
      ['姓名','年龄','性别','分数'],
       ['mary', 20, '女', 89.9],
      ['mary', 20, '女', 89.9],
      ['mary', 20, '女', 89.9],
      ['mary', 20, '女', 89.9]
        ]
book = xlwt.Workbook()  #新建一个excel
sheet = book.add_sheet('info')  #添加一个sheet页
raw=0       #控制行
for stu in stus:      #循环写入
    col=0    #控制列
    for s in stu:
        sheet.write(raw,col,s)
        col+=1
    raw+=1
book.save('D:\Excel.xls')

3.修改excel

流程:拷贝原来的excel-->获取sheet页-->写入修改数据-->保存
from xlutils.copy import copy #倒模块
book1 = xlrd.open_workbook('D:\Excel.xls') #打开要修改的excel
book2 = copy(book1) #拷贝一份原来的excel
sheet = book2.get_sheet(0) #获取第几个sheet页
sheet.write(1,3,0) #写入需要修改的行、列及修改后的值
sheet.write(1,0,'小黑')
book2.save('D:\Excel.xls')

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 每次搞考勤都要弄很久很久,一直想着搞一个代码出来,一直拖一直拖一直拖,直到这次忍不了了,结果用的时间都可以搞两次考...
    夹小欣阅读 2,098评论 0 0
  • 注释较为全面,参照注释使用即可。 库的安装: 从官网下载源码后,解压,cmd进到对应目录下,执行 python s...
    LeoceanY桑阅读 2,204评论 0 1
  • #!/usr/bin/env python # -*- coding: utf-8 -*- # @File : e...
    coder_jin阅读 883评论 0 0
  • 我要的不多,只要眼中有你有我。 并肩而坐,相拥而行。 我要的不多,只要你心里有我。 一个拥抱,一个轻吻每天的必修课...
    大笨丫阅读 230评论 0 1
  • 老公值班不在家,自己竟然做了一个不愿醒来的梦~也算是写给老公的小情书吧~ 梦回大学校园。 话说你去执行特殊任务,出...
    独爱Mocha阅读 343评论 2 1