python实现excel读写数据


Posted in Python onMarch 02, 2021

本文实例为大家分享了python操作EXCEL的实例源码,供大家参考,具体内容如下

读EXCEL的操作:把excel的数据存储为字典类型

#coding=utf8 
 
#导入读excel的操作库 
import xlrd 
class GenExceptData(object): 
 def __init__(self): 
  try: 
   self.dataDic={} 
   #打开工作薄 
   self.wkbook= xlrd.open_workbook("Requirement.xls") 
   #获取工作表“requirement” 
   self.dataSheet=self.wkbook.sheet_by_name("requirement") 
   #把数据按 按照相应格式写入excel表中 
   self.readDataToDicl() 
   #保存文件 
  except Exception,e: 
   print "Read Excel error:",e 
 
 def readDataToDicl(self): 
  try: 
   nrows = self.dataSheet.nrows 
   ncols = self.dataSheet.ncols 
    
   print ncols ,nrows 
   try: 
    for rowNum in range(1,nrows):   
       #把数据的当前行的元素与上一行元素作比较 
       #如果不相等执行if语句 
       try: 
         
        singleJson={} 
        propertyName=self.dataSheet.cell(rowNum,3).value 
        propertyValue=self.dataSheet.cell(rowNum,4).value 
               
        if self.dataSheet.cell(rowNum,0).value and self.dataSheet.cell(rowNum,2).value: 
         mdEvent=self.dataSheet.cell(rowNum,0).value 
         singleJson["serviceId"]=self.dataSheet.cell(rowNum,2).value 
        singleJson[propertyName]=propertyValue        
        print singleJson 
        self.dataDic[mdEvent]=singleJson 
        singleJson.clear() 
         
         
       except Exception,e: 
        print "Get Data Error:",e 
   except Exception,e: 
    print "Reading Data Error:",e 
  except Exception,e: 
   print "Reading Data TO Dic Error:",e 
 
  
     
   
def test(): 
 GenExceptData() 
  
if __name__=="__main__": 
 test()

写EXCEL的操作:把csv文件的数据按照需求写入到excel文件中

#coding=utf8 
 
from readCSV import readCSV 
import xlwt 
 
class GenTestCase(): 
 def __init__(self,path="E:\\PythonDemo\\OperExcel\\Demo.csv"): 
  self.dataInfor=readCSV(path) 
  #创建工作薄 
  self.wkbook=xlwt.Workbook() 
  #创建表:“埋点需求” 
  self.dataSheet=self.wkbook.add_sheet("shellt") 
  self.creatHead() 
   
 def creatHead(self): 
  firstLine=[] 
  #创建表头 
  for index in range(len(firstLine)): 
   self.dataSheet.write(0,index,firstLine[index]) 
    
  dataBody=self.dataInfor.buffer 
  print dataBody.__len__() 
  currentrow=1 
  for rowNum in range(1,len(dataBody)): 
   for index in range(len(dataBody[rowNum])): 
    if rowNum>1: 
     if dataBody[rowNum-1][0]!=dataBody[rowNum][0] : 
      print currentrow,rowNum 
      if currentrow==1: 
       for cols in range(3): 
        cellValue=dataBody[currentrow][cols] 
        cellValue=cellValue.decode("gbk") 
        data=u"%s" %(cellValue) 
        self.dataSheet.write_merge(currentrow,rowNum-1,cols,cols,data) 
         
       for cols in range(6,13): 
        cellValue=dataBody[currentrow][cols] 
        cellValue=cellValue.decode("gbk") 
        data=u"%s" %(cellValue) 
        self.dataSheet.write_merge(currentrow,rowNum-1,cols,cols,data)  
      else:  
       for cols in range(3): 
        cellValue=dataBody[currentrow][cols] 
        cellValue=cellValue.decode("gbk") 
        data=u"%s" %(cellValue) 
        self.dataSheet.write_merge(currentrow-1,rowNum-1,cols,cols,data) 
       for cols in range(6,12): 
        cellValue=dataBody[currentrow][cols] 
        cellValue=cellValue.decode("gbk") 
        data=u"%s" %(cellValue) 
        self.dataSheet.write_merge(currentrow-1,rowNum-1,cols,cols,data)            
      currentrow=rowNum+1       
     break 
    
   for cols in range(3,6):    
    cellValue=dataBody[rowNum][cols] 
    cellValue=cellValue.decode("gbk") 
    data=u"%s" %(cellValue) 
    self.dataSheet.write(rowNum,cols,data) 
         
  self.wkbook.save(r'reqq.xlsx') 
  
     
   
def test(): 
 GenTestCase() 
  
if __name__=="__main__": 
 test()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Flask SQLAlchemy一对一,一对多的使用方法实践
Feb 10 Python
简单的python后台管理程序
Apr 13 Python
python中获得当前目录和上级目录的实现方法
Oct 12 Python
Python如何生成树形图案
Jan 03 Python
python使用Tkinter实现在线音乐播放器
Jan 30 Python
python 实现图片旋转 上下左右 180度旋转的示例
Jan 24 Python
python实现微信防撤回神器
Apr 29 Python
用python打印1~20的整数实例讲解
Jul 01 Python
使用Python自动生成HTML的方法示例
Aug 06 Python
使用pickle存储数据dump 和 load实例讲解
Dec 30 Python
python__new__内置静态方法使用解析
Jan 07 Python
如何基于Python pygame实现动画跑马灯
Nov 18 Python
unittest+coverage单元测试代码覆盖操作实例详解
Apr 04 #Python
python unittest实现api自动化测试
Apr 04 #Python
Python Unittest自动化单元测试框架详解
Apr 04 #Python
python如何使用unittest测试接口
Apr 04 #Python
Python统计单词出现的次数
Apr 04 #Python
高效使用Python字典的清单
Apr 04 #Python
Python的numpy库中将矩阵转换为列表等函数的方法
Apr 04 #Python
You might like
excellent!――ASCII Art(由目标图象生成ascii)
2007/02/20 PHP
PHP实现一个简单url路由功能实例
2016/11/05 PHP
JavaScript 动态添加表格行 使用模板、标记
2009/10/24 Javascript
JavaScript 一道字符串分解的题目
2011/08/03 Javascript
判断文件是否正在被使用的JS代码
2013/12/21 Javascript
jquery动态改变form属性提交表单
2014/06/03 Javascript
html文本框提示效果的示例代码
2014/06/28 Javascript
JS实现iframe编辑器光标位置插入内容的方法(兼容IE和Firefox)
2016/06/24 Javascript
一次$.getJSON不执行的简单记录
2016/07/19 Javascript
jQuery实现优雅的弹窗效果(6)
2017/02/08 Javascript
JS实现获取word文档内容并输出显示到html页面示例
2018/06/23 Javascript
vue.js删除列表中的一行
2018/06/30 Javascript
区别JavaScript函数声明与变量声明
2018/09/12 Javascript
Javascript实现简易天数计算器
2020/05/18 Javascript
[42:20]Secret vs Liquid 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
python 多进程通信模块的简单实现
2014/02/20 Python
Python配置文件解析模块ConfigParser使用实例
2015/04/13 Python
python生成excel的实例代码
2017/11/08 Python
啥是佩奇?使用Python自动绘画小猪佩奇的代码实例
2019/02/20 Python
Python Django 实现简单注册功能过程详解
2019/07/29 Python
Python线程指南分享
2019/11/19 Python
浅析Python数字类型和字符串类型的内置方法
2019/12/22 Python
Python基于模块Paramiko实现SSHv2协议
2020/04/28 Python
Python爬取网页信息的示例
2020/09/24 Python
python实现AdaBoost算法的示例
2020/10/03 Python
日本高岛屋百货购物网站:TAKASHIMAYA
2019/03/24 全球购物
在C语言中实现抽象数据类型什么方法最好
2014/06/26 面试题
基层工作经历证明
2014/01/13 职场文书
财务总监管理职责范文
2014/03/09 职场文书
《诚实与信任》教学反思
2014/04/10 职场文书
中等生评语大全
2014/05/04 职场文书
捐书倡议书
2014/08/29 职场文书
机电专业毕业生自我鉴定2014
2014/10/04 职场文书
社区党建工作总结2015
2015/05/13 职场文书
小学语文教师竞聘演讲稿范文
2019/08/09 职场文书
清空 Oracle 安装记录并重新安装
2022/04/26 Oracle