脚本专栏 
首页 > 脚本专栏 > 浏览文章

python实现excel读写数据

(编辑:jimmy 日期: 2025/9/23 浏览:3 次 )

本文实例为大家分享了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 矩阵增加一行或一列的实例
下一篇:unittest+coverage单元测试代码覆盖操作实例详解
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 网站地图 SiteMap