python自动化办公-提取excal表格某列数据

基于xlrd库

使用pip安装xlrd库命令如下(推荐安装xlrd1.2.0版本,其他版本没法提取xlsx格式文件)

pip install xlrd==1.2.0

因为文件比较小,所以无需引用镜像网址


1.导入xlrd库

import xlrd

2.捕获excal文件

date = xlrd.open_workbook(inpath, encoding_override='utf-8')

其中inpath表示文件所在路径,例:r'C:\Users\Administrator\Desktop\测试2.xlsx'

其中encoding_override='utf-8'是为了防止文件路径中的中文名对捕获过程造成影响

3.获取excal文件表格中每行每列数据

 table = date.sheets()[0]  # 选定sheet表 0表示第一个表
 nrows = table.nrows  # 获取行号
 ncols = table.ncols  # 获取列号

4.利用for循环结构获取一行中某列函数

    for i in range(0, nrows):  # 第0行为表头
        alldate = table.row_values(i)  # 循环输出excel表中每一行,即所有数据
        result = alldate[2]  # 取出表中第三列数据
        

5.定义完整公式-提取Excal表中指定一列所有数据

def e1(inpath):
    date = xlrd.open_workbook(inpath, encoding_override='utf-8')
    table = date.sheets()[0]#选定表sheet1 或sheet2  0表示sheet1 1表示sheet2
    nrows = table.nrows  # 获取行号
    ncols = table.ncols  # 获取列号

    for i in range(0, nrows):  # 第0行为表头
        alldate = table.row_values(i)  # 循环输出excel表中每一行,即所有数据
        result = alldate[0]  # 取出表中第一列数据

案例:

 定义一个列表,将获取的某一列数据,输入到该列表中。

效果图:

完整代码:

import xlrd
list1=[]
list2=[]
def e1(inpath):
    date = xlrd.open_workbook(inpath, encoding_override='utf-8')
    table = date.sheets()[0]#选定表sheet1 或sheet2  0表示sheet1 1表示sheet2
    nrows = table.nrows  # 获取行号
    ncols = table.ncols  # 获取列号
    for i in range(0, nrows):  # 第0行为表头
        alldate = table.row_values(i)  # 循环输出excel表中每一行,即所有数据
        result = alldate[0]  # 取出表中第一列数据
        list1.append(result)  #创建

def e2(inpath):
    date = xlrd.open_workbook(inpath, encoding_override='utf-8')
    table = date.sheets()[0] # 选定表
    nrows = table.nrows  # 获取行号`
    ncols = table.ncols  # 获取列号
    for i in range(0, nrows):  # 第0行为表头
        alldate = table.row_values(i)  # 循环输出excel表中每一行,即所有数据
        result = alldate[1] # 取出表中第二列数据
        list2.append(result)
inpath = r'C:\Users\Administrator\Desktop\测试2.xlsx'  # excel文件所在路径
a1=e1(inpath)
print(list1)
print('------------------')
b1=e2(inpath)
print(list2)

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值