赞
踩
因为工作需要对excel进行一个空值检测,刚好最近对python有兴趣,用python编写一个检测的工具。接触python不久,代码比较简陋
检测的excel表很多,一般都是在一个总的文件夹下的,所以我考虑是整个文件夹进行筛选excel文件,然后每个进行空值检测。因为是小工具所以不打算用GUI。
代码如下(示例):
import os
import xlrd
获取指定类型文件,代码如下(示例):
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])
空值检测,一般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, '列')
也是第一次写blog,代码也就这样了,可以根据自己需求修改就行。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。