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实现壁纸批量下载代码实例
Jan 25 Python
python中将一个全部为int的list 转化为str的list方法
Apr 09 Python
django中模板的html自动转意方法
May 27 Python
python中使用ctypes调用so传参设置遇到的问题及解决方法
Jun 19 Python
Pycharm保存不能自动同步到远程服务器的解决方法
Jun 27 Python
Django 缓存配置Redis使用详解
Jul 23 Python
python实现淘宝购物系统
Oct 25 Python
Python 字典一个键对应多个值的方法
Sep 29 Python
如何解决.cuda()加载用时很长的问题
May 24 Python
python调试工具Birdseye的使用教程
May 25 Python
python识别围棋定位棋盘位置
Jul 26 Python
pd.DataFrame中的几种索引变换的实现
Jun 16 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
1.PHP简介
2006/10/09 PHP
PHP面向对象分析设计的61条军规小结
2010/07/17 PHP
IIS下PHP的三种配置方式对比
2014/11/20 PHP
PHP 网站修改默认访问文件的nginx配置
2017/05/27 PHP
jQuery动态添加 input type=file的实现代码
2012/06/14 Javascript
javascript模块化是什么及其优缺点介绍
2013/09/02 Javascript
JavaScript调用ajax获取文本文件内容实现代码
2014/03/28 Javascript
javascript学习笔记(一)基础知识
2014/09/30 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(jquery)
2014/11/16 Javascript
jquery实现侧边弹出的垂直导航
2014/12/09 Javascript
DOM节点深度克隆函数cloneNode()用法实例
2015/01/12 Javascript
javascript中in运算符用法分析
2015/04/28 Javascript
在Mac OS下使用Node.js的简单教程
2015/06/24 Javascript
JavaScript微信定位功能实现方法
2016/11/29 Javascript
jquery ui sortable拖拽后保存位置
2017/04/27 jQuery
在JS中如何把毫秒转换成规定的日期时间格式实例
2017/05/11 Javascript
Angular2+如何去除url中的#号详解
2017/12/20 Javascript
快速解决Vue项目在IE浏览器中显示空白的问题
2018/09/04 Javascript
利用Vue实现一个markdown编辑器实例代码
2019/05/19 Javascript
js实现类似iphone的网页滑屏解锁功能示例【附源码下载】
2019/06/10 Javascript
node.js +mongdb实现登录功能
2020/06/18 Javascript
Python语言实现获取主机名根据端口杀死进程
2016/03/31 Python
matplotlib 输出保存指定尺寸的图片方法
2018/05/24 Python
python检索特定内容的文本文件实例
2018/06/05 Python
Django中ORM外键和表的关系详解
2019/05/20 Python
django之静态文件 django 2.0 在网页中显示图片的例子
2019/07/28 Python
Python如何实现强制数据类型转换
2019/11/22 Python
利用pandas将非数值数据转换成数值的方式
2019/12/18 Python
简洁自适应404页面HTML好看的404源码
2020/12/16 HTML / CSS
大学运动会入场词
2014/02/22 职场文书
领导失职检讨书
2014/02/24 职场文书
2014年师德承诺书
2014/05/23 职场文书
工作目标责任书
2014/07/23 职场文书
2014年创卫工作总结
2014/11/24 职场文书
辞职信怎么写?你都知道吗?
2019/06/24 职场文书
CSS3实现的侧滑菜单
2021/04/27 HTML / CSS