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下的subprocess模块的入门指引
Apr 16 Python
Python使用Mechanize模块编写爬虫的要点解析
Mar 31 Python
Python中函数参数设置及使用的学习笔记
May 03 Python
对pytorch网络层结构的数组化详解
Dec 08 Python
详解Python二维数组与三维数组切片的方法
Jul 18 Python
基于Python获取照片的GPS位置信息
Jan 20 Python
使用python-Jenkins批量创建及修改jobs操作
May 12 Python
Python select及selectors模块概念用法详解
Jun 22 Python
Django-Scrapy生成后端json接口的方法示例
Oct 06 Python
Python监听键盘和鼠标事件的示例代码
Nov 18 Python
python函数超时自动退出的实操方法
Dec 28 Python
Python实现文本文件拆分写入到多个文本文件的方法
Apr 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
一个简单的自动发送邮件系统(二)
2006/10/09 PHP
php的ajax框架xajax入门与试用介绍
2010/12/19 PHP
php 网上商城促销设计实例代码
2012/02/17 PHP
PHP网站建设的流程与步骤分享
2015/09/25 PHP
详解PHP数组赋值方法
2015/11/07 PHP
PHP中Trait及其应用详解
2017/02/14 PHP
PHP实现登陆并抓取微信列表中最新一组微信消息的方法
2017/07/10 PHP
PHP+AJAX 投票器功能
2017/11/11 PHP
javascript禁用Tab键脚本实例
2013/11/22 Javascript
JS刷新当前页面的几种方法总结
2013/12/24 Javascript
JS实现自动切换文字的导航效果代码
2015/08/27 Javascript
jQuery实现的倒计时效果实例小结
2016/04/16 Javascript
微信小程序 Audio API详解及实例代码
2016/09/30 Javascript
详解react使用react-bootstrap当轮子造车
2017/08/15 Javascript
vuex actions传递多参数的处理方法
2018/09/18 Javascript
浅析webpack-bundle-analyzer在vue-cli3中的使用
2019/10/23 Javascript
Vue中keep-alive组件的深入理解
2020/08/23 Javascript
[02:38]2018年度DOTA2最佳劣单位选手-完美盛典
2018/12/17 DOTA
Python常用的日期时间处理方法示例
2015/02/08 Python
python用10行代码实现对黄色图片的检测功能
2015/08/10 Python
Python虚拟环境项目实例
2017/11/20 Python
解决Spyder中图片显示太小的问题
2018/04/27 Python
pyspark 读取csv文件创建DataFrame的两种方法
2018/06/07 Python
python 遗传算法求函数极值的实现代码
2020/02/11 Python
HTML5的标签的代码的简单介绍 HTML5标签的简介
2012/05/28 HTML / CSS
Answear匈牙利:来自全球200多个知名时尚品牌
2017/04/21 全球购物
台湾前三大B2C购物网站:MOMO购物网
2017/04/27 全球购物
Lookfantastic台湾:英国彩妆美发保养购物网
2018/03/26 全球购物
英国在线发型和美容产品商店:Beauty Cutie
2019/04/27 全球购物
2013年入党人员的自我鉴定
2013/10/25 职场文书
法院四风对照检查材料思想汇报
2014/10/06 职场文书
学校安全管理制度
2015/08/06 职场文书
2019单位介绍信怎么写
2019/06/24 职场文书
Go标准容器之Ring的使用说明
2021/05/05 Golang
Python 高级库15 个让新手爱不释手(推荐)
2021/05/15 Python
千万级用户系统SQL调优实战分享
2022/03/03 MySQL