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 相关文章推荐
Python使用百度API上传文件到百度网盘代码分享
Nov 08 Python
OpenCV实现人脸识别
Apr 07 Python
python实现校园网自动登录的示例讲解
Apr 22 Python
python format 格式化输出方法
Jul 16 Python
python3+PyQt5 创建多线程网络应用-TCP客户端和TCP服务器实例
Jun 17 Python
python科学计算之scipy——optimize用法
Nov 25 Python
Python利用PyExecJS库执行JS函数的案例分析
Dec 18 Python
Tensorflow实现部分参数梯度更新操作
Jan 23 Python
基于python的docx模块处理word和WPS的docx格式文件方式
Feb 13 Python
python json.dumps中文乱码问题解决
Apr 01 Python
基于python纯函数实现井字棋游戏
May 27 Python
Python闭包的定义和使用方法
Apr 11 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
PHP扩展编写点滴 技巧收集
2010/03/09 PHP
php设计模式 Interpreter(解释器模式)
2011/06/26 PHP
PHP中使用memcache存储session的三种配置方法
2014/04/05 PHP
php sybase_fetch_array使用方法
2014/04/15 PHP
一个PHP的ZIP压缩类分享
2014/05/04 PHP
destoon利用Rewrite规则设置网站安全
2014/06/21 PHP
linux下使用crontab实现定时PHP计划任务失败的原因分析
2014/07/05 PHP
php源码分析之DZX1.5加密解密函数authcode用法
2015/06/17 PHP
一个简单至极的PHP缓存类代码
2015/10/23 PHP
php出租房数据管理及搜索页面
2017/05/23 PHP
设定php简写功能的方法
2019/11/28 PHP
Jquery AJAX 框架的使用方法
2009/11/03 Javascript
JavaScript类和继承 this属性使用说明
2010/09/03 Javascript
JS+DIV实现鼠标划过切换层效果的实例代码
2013/11/26 Javascript
深入解析JavaScript中的变量作用域
2013/12/06 Javascript
javascript页面上使用动态时间具体实现
2014/03/18 Javascript
jQuery显示和隐藏 常用的状态判断方法
2015/01/29 Javascript
WEB前端开发都应知道的jquery小技巧及jquery三个简写
2015/11/15 Javascript
深入理解$.each和$(selector).each
2016/05/15 Javascript
详解webpack+es6+angular1.x项目构建
2017/05/02 Javascript
jQuery实现仿京东防抖动菜单效果示例
2018/07/06 jQuery
JavaScript进阶(四)原型与原型链用法实例分析
2020/05/09 Javascript
python中随机函数random用法实例
2015/04/30 Python
简单掌握Python的Collections模块中counter结构的用法
2016/07/07 Python
python 计算一个字符串中所有数字的和实例
2019/06/11 Python
音乐专业应届生教师求职信
2013/11/04 职场文书
公务员职业生涯规划书范文  
2014/01/19 职场文书
2014入党积极分子破除“四风”思想汇报
2014/09/14 职场文书
个人四风问题对照检查材料
2014/09/26 职场文书
理想国读书笔记
2015/06/25 职场文书
2015年初中教务处工作总结
2015/07/21 职场文书
2016年国陪研修感言
2015/11/18 职场文书
趣味运动会口号
2015/12/24 职场文书
2016年6.5世界环境日宣传活动总结
2016/04/01 职场文书
react国际化react-intl的使用
2021/05/06 Javascript
浅谈mysql执行过程以及顺序
2021/05/12 MySQL