python怎么删除exce的l某些行?例如这些行的某一格中带有字符串x或y或z...

求python的代码,不是excel自带的筛选,问题解决的话追加奖励。字符串有几十个,请详细给出一些有效代码... 求python的代码,不是excel自带的筛选,问题解决的话追加奖励。
字符串有几十个,请详细给出一些有效代码
展开
 我来答
波尽天下
2012-01-13 · TA获得超过834个赞
知道小有建树答主
回答量:202
采纳率:66%
帮助的人:224万
展开全部
自己帮你写的,在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
=======================================================
肖昀
2012-01-11 · TA获得超过498个赞
知道小有建树答主
回答量:419
采纳率:0%
帮助的人:108万
展开全部
遍历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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式