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中使用asyncio 封装文件读写
Sep 11 Python
python实现定时自动备份文件到其他主机的实例代码
Feb 23 Python
Python八大常见排序算法定义、实现及时间消耗效率分析
Apr 27 Python
python获取时间及时间格式转换问题实例代码详解
Dec 06 Python
Python实现的调用C语言函数功能简单实例
Mar 13 Python
python文件写入write()的操作
May 14 Python
python启动应用程序和终止应用程序的方法
Jun 28 Python
python自动化UI工具发送QQ消息的实例
Aug 27 Python
python进程间通信Queue工作过程详解
Nov 01 Python
numpy 矩阵形状调整:拉伸、变成一位数组的实例
Jun 18 Python
pandas统计重复值次数的方法实现
Feb 20 Python
pytorch实现线性回归以及多元回归
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 智能404跳转代码,适合换域名没改变目录的网站
2010/06/04 PHP
PHP函数eval()介绍和使用示例
2014/08/20 PHP
PHP CURL使用详解
2019/03/21 PHP
Laravel 微信小程序后端搭建步骤详解
2019/11/26 PHP
jquery radio 操作代码
2011/03/16 Javascript
七个很有意思的PHP函数
2014/05/12 Javascript
javascript中错误使用var造成undefined
2016/03/31 Javascript
Bootstrap的fileinput插件实现多文件上传的方法
2016/09/05 Javascript
jQuery实现弹出带遮罩层的居中浮动窗口效果
2016/09/12 Javascript
很棒的一组js图片轮播特效
2017/01/12 Javascript
微信小程序 scroll-view隐藏滚动条详解
2017/01/16 Javascript
webpack实现热加载自动刷新的方法
2017/07/30 Javascript
通过webpack引入第三方库的方法
2018/07/20 Javascript
浅入深出Vue之自动化路由
2019/08/06 Javascript
nodejs一个简单的文件服务器的创建方法
2019/09/13 NodeJs
file-loader打包图片文件时路径错误输出为[object-module]的解决方法
2020/01/03 Javascript
JavaScript使用canvas绘制随机验证码
2020/02/17 Javascript
JavaScript数组排序功能简单实现
2020/05/14 Javascript
[01:32]寻找你心中的那团火 DOTA2 TI9火焰传递活动今日开启
2019/05/16 DOTA
Python按行读取文件的简单实现方法
2016/06/22 Python
详解用python实现简单的遗传算法
2018/01/02 Python
pip matplotlib报错equired packages can not be built解决
2018/01/06 Python
python正则表达式及使用正则表达式的例子
2018/01/22 Python
Python cookbook(数据结构与算法)将名称映射到序列元素中的方法
2018/03/22 Python
Python用61行代码实现图片像素化的示例代码
2018/12/10 Python
Python函数返回不定数量的值方法
2019/01/22 Python
python中property和setter装饰器用法
2019/12/19 Python
python中的逆序遍历实例
2019/12/25 Python
Python 制作查询商品历史价格的小工具
2020/10/20 Python
即时搜索数百万张门票:SeatsForEveryone.com
2018/08/26 全球购物
改变生活的男士内衣:SAXX Underwear
2019/08/28 全球购物
车间组长岗位职责
2013/12/20 职场文书
服装促销活动方案
2014/02/23 职场文书
田径运动会通讯稿
2015/07/18 职场文书
2016年感恩节活动总结大全
2016/04/01 职场文书
win10安装配置nginx的过程
2021/03/31 Servers