python怎么删除exce的l某些行?例如这些行的某一格中带有字符串x或y或z...
求python的代码,不是excel自带的筛选,问题解决的话追加奖励。字符串有几十个,请详细给出一些有效代码...
求python的代码,不是excel自带的筛选,问题解决的话追加奖励。
字符串有几十个,请详细给出一些有效代码 展开
字符串有几十个,请详细给出一些有效代码 展开
2个回答
展开全部
自己帮你写的,在2.6版本下测试通过,你如果没安装pywin32模块要先下载安装一下。
希望对你有用!
=======================================================
#本程序在python2.6版本下测试通过
import win32com.client #这里用到win32com.client,需要安装pywin32模块
#下载地址 http://sourceforge.net/projects/pywin32/files/pywin32/Build216/
xlApp = win32com.client.Dispatch('Excel.Application') #打开EXCEL,这里不需改动
xlBook = xlApp.Workbooks.Open('D:\\1.xls') #将D:\\1.xls改为要处理的excel文件路径
xlSht = xlBook.Worksheets('sheet1') #要处理的excel页,默认第一页是‘sheet1’
n=20 #n改为要处理的表格内容的行数
m=5 #m改为要处理的表格的内容的列数
try: #为了加强程序健壮性,使用try...except方式避免出错后程序中断。可以将try、except删去。
i=1
while i<=n:
for j in range(1,m+1):
temp = str(xlSht.Cells(i,j).Value) #区每行每列各元素
if temp.find('x')>-1 or temp.find('y')>-1 or temp.find('z')>-1: #若其中含有x、y、z,这里可改为其他判断条件
xlSht.Rows(i).Delete() #将满足条件的元素所在行 整行删除
i=i-1
n=n-1 #由于删除了一行,同时修改相关参数,避免判断遗漏
break
i=i+1 #行标加1,继续判断下一行
except:
print 'runerror'
xlBook.Close(SaveChanges=1) #完成 关闭保存文件
del xlApp
=======================================================
希望对你有用!
=======================================================
#本程序在python2.6版本下测试通过
import win32com.client #这里用到win32com.client,需要安装pywin32模块
#下载地址 http://sourceforge.net/projects/pywin32/files/pywin32/Build216/
xlApp = win32com.client.Dispatch('Excel.Application') #打开EXCEL,这里不需改动
xlBook = xlApp.Workbooks.Open('D:\\1.xls') #将D:\\1.xls改为要处理的excel文件路径
xlSht = xlBook.Worksheets('sheet1') #要处理的excel页,默认第一页是‘sheet1’
n=20 #n改为要处理的表格内容的行数
m=5 #m改为要处理的表格的内容的列数
try: #为了加强程序健壮性,使用try...except方式避免出错后程序中断。可以将try、except删去。
i=1
while i<=n:
for j in range(1,m+1):
temp = str(xlSht.Cells(i,j).Value) #区每行每列各元素
if temp.find('x')>-1 or temp.find('y')>-1 or temp.find('z')>-1: #若其中含有x、y、z,这里可改为其他判断条件
xlSht.Rows(i).Delete() #将满足条件的元素所在行 整行删除
i=i-1
n=n-1 #由于删除了一行,同时修改相关参数,避免判断遗漏
break
i=i+1 #行标加1,继续判断下一行
except:
print 'runerror'
xlBook.Close(SaveChanges=1) #完成 关闭保存文件
del xlApp
=======================================================
展开全部
遍历excel的一个数据区域X。
for line in X:
if "yyy" in line:#如果字符yyy在某一行中就做什么事情。。。。。
do something
操作excel的代码网上很多,我找了一个你参考下
from win32com.client import constants, Dispatch
class EasyExcel:
def __init__(self, filename=None):
self.xlApp = Dispatch('Excel.Application')
if filename:
self.filename = filename
self.xlBook = self.xlApp.Workbooks.Open(filename)
else:
print "please input the filename"
def close(self):
self.xlBook.Close(SaveChanges=0)
del self.xlApp
def getCell(self, sheet, row, col):
"Get value of one cell"
sht = self.xlBook.Worksheets(sheet)
return sht.Cells(row, col).Value
def getRange(self, sheet, row1, col1, row2, col2):
"return a 2d array (i.e. tuple of tuples)"
sht = self.xlApp.Worksheets(sheet)
return sht.Range(sht.Cells(row1, col1), sht.Cells(row2, col2)).Value
[代码] [Python]代码
from easyExcel import EasyExcel
excelProxy = EasyExcel("d:/test.xls")
content=excelProxy.getRange("sheet1",1,1,2,2)
print content
for line in X:
if "yyy" in line:#如果字符yyy在某一行中就做什么事情。。。。。
do something
操作excel的代码网上很多,我找了一个你参考下
from win32com.client import constants, Dispatch
class EasyExcel:
def __init__(self, filename=None):
self.xlApp = Dispatch('Excel.Application')
if filename:
self.filename = filename
self.xlBook = self.xlApp.Workbooks.Open(filename)
else:
print "please input the filename"
def close(self):
self.xlBook.Close(SaveChanges=0)
del self.xlApp
def getCell(self, sheet, row, col):
"Get value of one cell"
sht = self.xlBook.Worksheets(sheet)
return sht.Cells(row, col).Value
def getRange(self, sheet, row1, col1, row2, col2):
"return a 2d array (i.e. tuple of tuples)"
sht = self.xlApp.Worksheets(sheet)
return sht.Range(sht.Cells(row1, col1), sht.Cells(row2, col2)).Value
[代码] [Python]代码
from easyExcel import EasyExcel
excelProxy = EasyExcel("d:/test.xls")
content=excelProxy.getRange("sheet1",1,1,2,2)
print content
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询