python實(shí)現(xiàn)excel讀寫數(shù)據(jù)
本文實(shí)例為大家分享了python操作EXCEL的實(shí)例源碼,供大家參考,具體內(nèi)容如下
讀EXCEL的操作:把excel的數(shù)據(jù)存儲(chǔ)為字典類型
#coding=utf8
#導(dǎo)入讀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")
#把數(shù)據(jù)按 按照相應(yīng)格式寫入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):
#把數(shù)據(jù)的當(dāng)前行的元素與上一行元素作比較
#如果不相等執(zhí)行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文件的數(shù)據(jù)按照需求寫入到excel文件中
#coding=utf8
from readCSV import readCSV
import xlwt
class GenTestCase():
def __init__(self,path="E:\\PythonDemo\\OperExcel\\Demo.csv"):
self.dataInfor=readCSV(path)
#創(chuàng)建工作薄
self.wkbook=xlwt.Workbook()
#創(chuàng)建表:“埋點(diǎn)需求”
self.dataSheet=self.wkbook.add_sheet("shellt")
self.creatHead()
def creatHead(self):
firstLine=[]
#創(chuàng)建表頭
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()
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python自動(dòng)重試第三方包retrying模塊的方法
retrying是一個(gè)python的重試包,可以用來自動(dòng)重試一些可能運(yùn)行失敗的程序段。這篇文章主要介紹了python自動(dòng)重試第三方包retrying的方法,需要的朋友參考下吧2018-04-04
Python中BaseHTTPRequestHandler實(shí)現(xiàn)簡單的API接口
本文主要介紹了Python中BaseHTTPRequestHandler實(shí)現(xiàn)簡單的API接口,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
python?遠(yuǎn)程執(zhí)行命令的詳細(xì)代碼
有時(shí)會(huì)需要在遠(yuǎn)程的機(jī)器上執(zhí)行一個(gè)命令,并獲得其返回結(jié)果。對于這種情況,python 可以很容易的實(shí)現(xiàn)。今天通過實(shí)例代碼介紹下python?遠(yuǎn)程執(zhí)行命令的相關(guān)知識(shí),感興趣的朋友一起看看吧2022-02-02
解決python -m pip install --upgrade pip 升級不成功問題
這篇文章主要介紹了python -m pip install --upgrade pip 解決升級不成功問題,需要的朋友可以參考下2020-03-03
Python?Conda安裝包報(bào)錯(cuò):PackagesNotFoundError兩種解決方法
這篇文章主要給大家介紹了關(guān)于Python?Conda安裝包報(bào)錯(cuò):PackagesNotFoundError的兩種解決方法,這通常意味著安裝程序正在尋找的環(huán)境包沒有在 conda 的默認(rèn)通道中找到,文中將解決的辦法介紹的非常詳細(xì),需要的朋友可以參考下2024-06-06
Python使用urllib模塊對URL網(wǎng)址中的中文編碼與解碼實(shí)例詳解
這篇文章主要介紹了Python使用urllib模塊對URL網(wǎng)址中的中文編碼與解碼(Python使用urllib模塊對URL編碼與解碼)實(shí)例詳解,需要的朋友可以參考下2020-02-02

