当前位置:   article > 正文

python检测excel表是否存在空值_python 判断sheet下某一个值是不是空

python 判断sheet下某一个值是不是空

前言

因为工作需要对excel进行一个空值检测,刚好最近对python有兴趣,用python编写一个检测的工具。接触python不久,代码比较简陋


一、我的想法

检测的excel表很多,一般都是在一个总的文件夹下的,所以我考虑是整个文件夹进行筛选excel文件,然后每个进行空值检测。因为是小工具所以不打算用GUI。

二、使用步骤

1.引入库

代码如下(示例):

import os
import xlrd
  • 1
  • 2

2.读入数据

获取指定类型文件,代码如下(示例):

path = os.path.abspath('.')
file_list = os.listdir(path)
xls_list = []

for i in range(len(file_list)):     # 选择xls文件
    if file_list[i].find('.xls', 0, len(file_list[i])) != -1 or \
            file_list[i].find('.xlsx', 0, len(file_list[i])) != -1:
        xls_list.append(file_list[i])
        print(file_list[i])
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

空值检测,一般excel表第一行是标题,不进行检测,代码如下(示例):

for dataIndex in range(len(xls_list)):
    data_sheet_name = os.path.join(path, xls_list[dataIndex])
    data_sheet = xlrd.open_workbook(data_sheet_name)

    for i in range(len(data_sheet.sheets())):   # 多工作表
        data_table = data_sheet.sheet_by_index(i)
        row = data_table.nrows
        col = data_table.ncols

        for row_index in range(1, row):
            data_list1 = data_table.row_values(0)  # 第一行标题
            data_list = data_table.row_values(row_index)

            for list_index in range(len(data_list)):  # 标题下数据
                if (data_list[list_index]) is "":
                    print('存在空值:', xls_list[dataIndex], data_sheet.sheet_names()[i], row_index + 1, '行', list_index, '列')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

总结

也是第一次写blog,代码也就这样了,可以根据自己需求修改就行。

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号