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的Django框架中包装视图函数
Jul 20 Python
Flask数据库迁移简单介绍
Oct 24 Python
基于python中staticmethod和classmethod的区别(详解)
Oct 24 Python
Django添加sitemap的方法示例
Aug 06 Python
python批量复制图片到另一个文件夹
Sep 17 Python
Django objects的查询结果转化为json的三种方式的方法
Nov 07 Python
Django框架设置cookies与获取cookies操作详解
May 27 Python
使用Python Pandas处理亿级数据的方法
Jun 24 Python
Django后端接收嵌套Json数据及解析详解
Jul 17 Python
使用python3批量下载rbsp数据的示例代码
Dec 20 Python
如何利用Python动态模拟太阳系运转
Sep 04 Python
Python使用socket去实现TCP客户端和TCP服务端
Apr 12 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中使用crypt()实现用户身份验证的代码
2012/09/05 PHP
解析php php_openssl.dll的作用
2013/07/01 PHP
从JavaScript的函数重名看其初始化方式
2007/03/08 Javascript
JavaScript学习笔记记录我的旅程
2012/05/23 Javascript
JavaScript将取代AppleScript?
2014/09/18 Javascript
基于jQuery通过jQuery.form.js插件使用ajax提交form表单
2015/08/17 Javascript
Underscore之Array_动力节点Java学院整理
2017/07/10 Javascript
浅谈Emergence.js 检测元素可见性的 js 插件
2017/11/18 Javascript
vue获取元素宽、高、距离左边距离,右,上距离等还有XY坐标轴的方法
2018/09/05 Javascript
从0到1搭建element后台框架优化篇(打包优化)
2019/05/12 Javascript
在Layui中实现开关按钮的效果实例
2019/09/29 Javascript
JS替换字符串中指定位置的字符(多种方法)
2020/05/28 Javascript
vue中watch和computed的区别与使用方法
2020/08/23 Javascript
探究Python多进程编程下线程之间变量的共享问题
2015/05/05 Python
Python实现base64编码的图片保存到本地功能示例
2018/06/22 Python
Python 通过requests实现腾讯新闻抓取爬虫的方法
2019/02/22 Python
python的命名规则知识点总结
2019/10/04 Python
python装饰器相当于函数的调用方式
2019/12/27 Python
Python super()方法原理详解
2020/03/31 Python
python 视频下载神器(you-get)的具体使用
2021/01/06 Python
纯css3制作网站后台管理面板
2014/12/30 HTML / CSS
英国现代绅士品牌:Hackett
2017/12/17 全球购物
社会实践心得体会
2014/01/03 职场文书
给医务人员表扬信
2014/01/12 职场文书
公司业务员岗位职责
2014/03/18 职场文书
作风年建设汇报材料
2014/08/14 职场文书
水电维修专业推荐信
2014/09/06 职场文书
学位证书委托书
2014/09/30 职场文书
学校师德师风整改措施
2014/10/27 职场文书
小学五年级语文上册教学计划
2015/01/22 职场文书
穆斯林的葬礼读书笔记
2015/06/26 职场文书
正规欠条模板
2015/07/03 职场文书
大学毕业谢师宴致辞
2015/07/27 职场文书
关于React Native使用axios进行网络请求的方法
2021/08/02 Javascript
深入理解go缓存库freecache的使用
2022/02/15 Golang
java后台调用接口及处理跨域问题的解决
2022/03/24 Java/Android