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)

你可能感兴趣的:(python自动化办公,自动化,运维,python)