python 将excelzhua转成json格式保存处理
# coding: utf-8
import xlrd
from xlrd import xldate_as_tuple
import multiprocessing
import json
import os
import datetime
import traceback
class ExcelToJson:
def __init__(self):
pass
def __del__(self):
pass
def get_brief(self, info):
out = info[0]
keys = str(info[1])
if ':' in keys:
keys = keys.split(':')
return out, keys
def filter_invalid_rows(self, sheet, rows=None):
rows = rows or 1
rowe = sheet.nrows
while rows < rowe:
fields = sheet.row_values(rows)
if '#' in str(fields):
rows = rows + 1
continue
else:
break
return rows
def check_keys_col(self, rowdict, keys):
if isinstance(keys, list):
for key in keys:
if not rowdict[key] or rowdict[key] == '':
return False
else:
if not rowdict[keys] or rowdict[keys] == '':
return False
return True
# 关联表的id检查
def get_data_rows(self, excelName):
excelFile = xlrd.open_workbook(excelName)
excelSheetNames = excelFile.sheet_names()
sheet = excelFile.sheet_by_name(excelSheetNames[0])
info = sheet.row_values(0)
if info is None:
return False
rowe = sheet.nrows
if rowe == 1:
return False
rows = self.filter_invalid_rows(sheet)
if rows <= 1:
return False
rows = rows + 1
if rows