使⽤Python实现读取Excel表格中的数据
本案例的实现是通过使⽤第三⽅xlrd,关于xlrd的相关⽂章请⾃⾏百度,教程很多,不做详解。
#-*- coding:utf-8 -*-
import  xdrlib ,sys
import xlrd
import setting
import bz
path = 'C:\\Users\\Desktop\\111.xls'
def get_score(sheet,grade,sex,score):
book = xlrd.open_workbook(path)
sh = book.sheet_by_index(sheet-1)
for j in xrange(ls):
# 因为使⽤了utf-8编码,⾃然要进⾏解码
tmp_grade_name = sh.cell_value(1,j).decode('utf-8')
tmp_sex = sh.cell_value(2,j)
# 判断两个对象的值是否相等,如果判断对象是否相等,可以使⽤is关键来进⾏判断,建议使⽤==,cmp好像要废弃掉了
if tmp_grade_name == grade and cmp(tmp_sex,sex) == 0:
for i in xrange(ws):
tmp_score = sh.cell_value(i,j)
if score <= float(tmp_score) and i>3and i<21:
ll_value(i,1)
elif score <= float(tmp_score) and i == 3:
ll_value(3,1)
elif score >= float(tmp_score) and i >= 20:
ll_value(20,1)
if __name__ == '__main__':
tmp_str = raw_input()
tmp_array = tmp_str.split(' ')
if tmp_array[0]=='1':
tmp_score = get_score(int(tmp_array[0]),tmp_array[1].encode('utf-8'),
tmp_array[2].encode('utf-8'),float(tmp_array[3]))
print tmp_score
elif tmp_array[0] == '2':
tmp_score = get_score(int(tmp_array[0]),tmp_array[1].encode('utf-8'),
tmp_array[2].encode('utf-8'),float(tmp_array[3]))
print tmp_score
elif tmp_array[0] == '3':
tmp_score = get_score(int(tmp_array[0]),tmp_array[1].encode('utf-8'),python怎么读取excel文件数据
tmp_array[2].encode('utf-8'),float(tmp_array[3]))
print tmp_score
elif tmp_array[0] == '4':
tmp_score = get_score(int(tmp_array[0]),tmp_array[1].encode('utf-8'),
tmp_array[2].encode('utf-8'),float(tmp_array[3]))
print tmp_score
else:
print"Error"
1、如果使⽤的是Windows的cmd命令⾏,对于中⽂会出现编码问题,因为cmd⽀持的是GBK的编码,解决⽅案:将Excel⽂件重新导出时,更改编码为ut-8的编码⽅式
2、如果是从cmd命令⾏输⼊的编码问题,解决⽅案为:在cmd命令⾏下,输⼊chcp 65001,此时cmd的编码⽅式就变为utf-8

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。