file_obj = request.FILES.get('uploadcsv','')
#如果传入的是XLS文件
import xlrd
#1.读取XLS内容
bk = xlrd.open_workbook(file_contents = file_obj.read())
#2.或者是告诉它文件路径,如下
#bk = xlrd.open_workbook(path/to/xls)
try:#看是不是XLS的第一张表
sh = bk.sheet_by_index(0)
except:
return render_to_response('admins/message.html',{'message':'没有读取到您的第一张表!'},context_instance=template.RequestContext(request))
#计算文件的总行数
nrows = sh.nrows
reader = []
#再循环将每一行的数据写进一个LIST中备用
for i in range(nrows):
row_data = sh.row_values(i)
reader.append(row_data)
#如果传入的是CSV文件
import StringIO,csv
data = StringIO.StringIO(file_obj.read())
try:
reader = csv.reader(data)
except Exception,e:
return render_to_response('admins/message.html',{'message':'CSV文件没有正常读取,请重新检查后上传!2'},context_instance=template.RequestContext(request))
最后再FOR循环reader这个列表,读出每个数据即可
分享到:


2010-02-02 10:15
浏览 6052
评论
这篇博客介绍了如何使用Python的xlrd库读取XLS文件,并展示了通过检查第一张表来处理数据的方法。同时,也讲解了当文件为CSV格式时,如何借助StringIO和csv库进行读取。内容包括读取文件、获取行数、存储数据到列表以及处理可能出现的错误。
4733

被折叠的 条评论
为什么被折叠?



