python批处理excel文件

python批处理多个excel文件,excel格式相同,需要得出所有excel文件中某一列的和,具体程序如下:文件都在D:/excel中importosimportxl... python批处理多个excel文件,excel格式相同,需要得出所有excel文件中某一列的和,具体程序如下:文件都在D:/excel中
import os
import xlrd
files=os.listdir('D:\\excel')
for j in files:
j=j.strip('\n')
wb=xlrd.open_workbook(j)
table=wb.sheet_by_index(0)
numh=0.0
for i in range(1,table.nrows):
numh=table.cell(rowx=i,colx=1).value+numh
print numh
文件迭代有错吗?
展开
 我来答
againinput4
2013-04-17 · TA获得超过2407个赞
知道大有可为答主
回答量:1446
采纳率:70%
帮助的人:643万
展开全部
python代码,都没缩进,没法看。

关于xlrd,可以参考我写的:
【整理】Python中,添加写入数据到已经存在的Excel的xls文件,即打开excel文件,写入新数据
【记录】Python中安装可以读写excel的xls文件的xlutils模块(需依赖于xlrd和xlwt)
【记录】Python中安装xlrd模块
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lijiangen1986
2013-04-17 · TA获得超过179个赞
知道小有建树答主
回答量:258
采纳率:0%
帮助的人:137万
展开全部
有个两个问题 :
1,numh=0.0需要放在for j in files:上,不然每次调用for,numh都会被重置为0.0
2,wb=xlrd.open_workbook(j)这个只是打开和你这个py文件同一个目录下的xls文件,比如你D:\\excel下有1.xls,2.xls文件,那你这句就只是打开py同一目录下的1.xls,2.xls而并非是D:\\excel下的

代码是可以用的,能实现功能,就是存在上面的两个问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tim_spac
2013-04-17 · TA获得超过3628个赞
知道大有可为答主
回答量:1804
采纳率:100%
帮助的人:2020万
展开全部
import glob, os.path
import xlrd

COLNO = 1

def files(path, fnmatch):
for fname in glob.glob(os.path.join(path, fnmatch)):
yield fname

def suminxlsfile(xlsfile):
wb=xlrd.open_workbook(xlsfile)
table=wb.sheet_by_index(0)
return sum([table.cell(rowx=i,colx=COLNO).value
for i in xrange(1,table.nrows)])

sum(map(suminxlsfile,
files("D:\\excel", "*.xls")))
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式