即時通訊嘗試計算我保存在一個文件夾中的大約50個excel文件的x,y和z列的平均值和std。每個excel文件的第一列有x值,第二列有y,第三列有z。即時通訊使用這個腳本,但它一直給我錯誤。所有文件保存爲「.xls」。請幫助,如果你們知道任何其他方式,我可以做到這一點,這將是非常有益的。這裏是腳本和錯誤:python幫助計算excel文件的平均值和std
import xlrd
import numpy
import os
path = "E:\\hello\\Patient"
dirList=os.listdir(path)
f = open('E:\\hello\\try.xls', 'w')
f.write('Patient_ID, Xavg, xstd, yavg, ystd, zavg, ystd')
f.write("\n")
##print dirList
##i = 0
Col_values=[]
for file in dirList:
fullpath = os.path.join(path,file)
## print fullpath
if os.path.isfile(fullpath) == 1:
wb = xlrd.open_workbook(fullpath)
sh = wb.sheet_by_index(0)
f.write(str(file))
f.write(", ")
for i in range(0,3):
for j in range(sh.nrows):
Col_values.append(sh.cell(j,i).value)
a = numpy.average(Col_values)
b = numpy.std(Col_values)
f.write(str(a))
f.write(", ")
f.write(str(b))
f.write(", ")
f.write("\n")
f.close()
所有文件保存爲「Microsoft Office Excel 97-2003工作表」。所以即時猜測這意味着文件被保存爲「xls」文件。 –
您可以通過嘗試在文本編輯器中打開其中一個文件進行檢查。如果這是一個Excel文件,你應該看到很多垃圾。這值得檢查,因爲如果您嘗試使用xlrd打開文本文件,則會出現相同的錯誤。 –
我檢查了...我相信它是一個excel文件。 –