nfhnb 2015-11-10 15:34 采纳率: 0%
浏览 1955

xlrd正确使用方式?还能简单吗?

#coding: utf8
import re
import xlrd
def get_excel():

###文件绝对路径
xfile=r'D:\test.xlsx'
book=xlrd.open_workbook(xfile)
###打开第3个SHEET页
table=book.sheets()[0]
###标识字典
b_list={}
biaoshi=''
###获取行数和列数
nrows=table.nrows
ncols=table.ncols
target_list=[]
target_list2=[]
###获取标识头
for i1 in range(ncols):
for j in table.col_values(i1):
b_list[i1]=j
break
###打印表头
for i2 in b_list:
print i2,b_list[i2]
biaoshi=biaoshi+b_list[i2]+' '
###在列里面进行查询
tiaojian=int(raw_input(u'请输入你要查询条件的次数:\n'))
for i in range(tiaojian):
chaxun1=int(raw_input(u'请输入你要查询的字段对应号(参照上图):\n'))
chaxun_neirong=raw_input(u'请输入你要查询的字段内容:\n')
#####判断搜索数据在哪行并打印
for k in range(nrows):
huajian=table.cell(k,chaxun1).value
try:
huajian=str(huajian)
except:
pass
try:
if re.search(chaxun_neirong,huajian).group():
if k in target_list:
target_list2.append(k)
else:
target_list.append(k)
except:
pass
if len(target_list)>len(target_list2) and target_list2 != []:
target_list=target_list2
target_list2=[]
else:
pass
print biaoshi
for fi in target_list:
for fi1 in table.row_values(fi):
print fi1,
print '\n'
get_excel()

  • 写回答

4条回答 默认 最新

  • nfhnb 2015-11-10 16:49
    关注
     #coding: utf8
    import re
    import xlrd
    def get_excel():
    
    ###文件绝对路径
        xfile=r'D:\test.xlsx'
        book=xlrd.open_workbook(xfile)
    ###打开第3个SHEET页
        table=book.sheets()[0]
    ###标识字典
        b_list={}
        biaoshi=''
    ###获取行数和列数
        nrows=table.nrows
        ncols=table.ncols
        target_list=[]
        target_list2=[]
    ###获取标识头
        for i1 in range(ncols):
            for j in table.col_values(i1):
                b_list[i1]=j
                break
    ###打印表头
        for i2 in b_list:
            print i2,b_list[i2]
            biaoshi=biaoshi+b_list[i2]+' '
    ###在列里面进行查询
        tiaojian=int(raw_input(u'请输入你要查询条件的次数:\n'))
        for i in range(tiaojian):
    
            chaxun1=int(raw_input(u'请输入你要查询的字段对应号(参照上图):\n'))
            chaxun_neirong=raw_input(u'请输入你要查询的字段内容:\n')
            input_list=[]
            linshi=''
            print input_list
            for i in chaxun_neirong:
                if i == ',':
                    input_list.append(linshi)
                    linshi=''
                else:
                    linshi=linshi+i
            input_list.append(linshi)
            print input_list
    #####判断搜索数据在哪行并打印
            for k in range(nrows):
                huajian=table.cell(k,chaxun1).value
                try:
                    huajian=str(huajian)
                except:
                    pass
                for shuru in input_list:
                    try:
                        if re.search(shuru,huajian).group():
                            if k in target_list:
                                target_list2.append(k)
                                break
                            else:
                                target_list.append(k)
                                break
                    except:
                        pass
                print target_list,target_list2
            if len(target_list)>len(target_list2) and target_list2 != []:
                target_list=target_list2
                target_list2=[]
            else:
                pass
        print biaoshi
        for fi in target_list:
            for fi1 in table.row_values(fi):
                print fi1,
            print '\n'
    get_excel()
    
    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!