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标准库与第三方库详解
Jul 22 Python
Python程序中用csv模块来操作csv文件的基本使用教程
Mar 03 Python
python实现kMeans算法
Dec 21 Python
Python读取MRI并显示为灰度图像实例代码
Jan 03 Python
Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息示例
Jul 18 Python
Python 用matplotlib画以时间日期为x轴的图像
Aug 06 Python
使用OpenCV实现仿射变换—旋转功能
Aug 29 Python
Django数据结果集序列化并展示实现过程
Apr 22 Python
Django 5种类型Session使用方法解析
Apr 29 Python
Django form表单与请求的生命周期步骤详解
Jun 07 Python
Python测试框架:pytest学习笔记
Oct 20 Python
python scrapy简单模拟登录的代码分析
Jul 21 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
DC四月将推出百页特刊漫画 纪念小丑诞生80周年
2020/04/09 欧美动漫
PHP HTML JavaScript MySQL代码如何互相传值的方法分享
2012/09/30 PHP
Laravel5.* 打印出执行的sql语句的方法
2017/07/24 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
javascript 关闭IE6、IE7
2009/06/01 Javascript
jQuery 一个图片切换的插件
2011/10/09 Javascript
js String对象中常用方法小结(字符串操作)
2012/01/27 Javascript
JavaScript 中的日期和时间及表示标准介绍
2013/08/21 Javascript
js substring从右边获取指定长度字符串(示例代码)
2013/12/23 Javascript
jQuery窗口、文档、网页各种高度的精确理解
2014/07/02 Javascript
js实现带关闭按钮始终显示在网页最底部工具条的方法
2015/03/02 Javascript
基于jQuery实现弹出可关闭遮罩提示框实例代码
2016/07/18 Javascript
清除浏览器缓存的几种方法总结(必看)
2016/12/09 Javascript
解决nodejs中使用http请求返回值为html时乱码的问题
2017/02/18 NodeJs
BootStrap selectpicker后台动态绑定数据
2017/06/01 Javascript
利用yarn代替npm管理前端项目模块依赖的方法详解
2017/09/04 Javascript
详解angular2.x创建项目入门指令
2018/10/11 Javascript
基于js实现抽红包并分配代码实例
2019/09/19 Javascript
vue+element_ui上传文件,并传递额外参数操作
2020/12/05 Vue.js
[45:59]EG vs OG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
在Python上基于Markov链生成伪随机文本的教程
2015/04/17 Python
Python for Informatics 第11章 正则表达式(一)
2016/04/21 Python
python使用锁访问共享变量实例解析
2018/02/08 Python
ubuntu安装sublime3并配置python3环境的方法
2018/03/15 Python
Flask框架单例模式实现方法详解
2019/07/31 Python
Python argparse模块应用实例解析
2019/11/15 Python
Python解析json代码实例解析
2019/11/25 Python
python写文件时覆盖原来的实例方法
2020/07/22 Python
Sentry错误日志监控使用方法解析
2020/11/12 Python
html5指南-2.如何操作document metadata
2013/01/07 HTML / CSS
德国的大型美妆个护电商:Flaconi
2020/06/26 全球购物
学校开学标语
2014/10/06 职场文书
2015年档案管理工作总结
2015/04/08 职场文书
听证通知书
2015/04/24 职场文书
怎样写观后感
2015/06/19 职场文书
python自动化八大定位元素讲解
2021/07/09 Python