issue correct
This commit is contained in:
@@ -17,7 +17,8 @@ import logging.config as config
|
||||
__author__ = 'Xiong Neng'
|
||||
logging.basicConfig(level=logging.INFO,
|
||||
format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
|
||||
datefmt='%Y-%m-%d %H:%M:%S')
|
||||
datefmt='%Y-%m-%d %H:%M:%S',
|
||||
handlers=[logging.FileHandler('message.log', 'a', 'utf-8')])
|
||||
# 模块基本用_,类级别用__
|
||||
_log = logging.getLogger('app.' + __name__)
|
||||
|
||||
|
||||
@@ -17,17 +17,17 @@ from mysql.connector import errorcode
|
||||
sql_create1 = """
|
||||
CREATE TABLE t_enterprise (
|
||||
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
|
||||
name VARCHAR(300) NOT NULL COMMENT '企业名称',
|
||||
tax_code VARCHAR(60) NOT NULL COMMENT '税号',
|
||||
name VARCHAR(100) COMMENT '企业名称',
|
||||
tax_code VARCHAR(30) COMMENT '税号',
|
||||
region_id BIGINT COMMENT '区域ID',
|
||||
customer_type INTEGER COMMENT '客户类型',
|
||||
enterprise_type INTEGER COMMENT '企业类型',
|
||||
address VARCHAR(200) COMMENT '详细地址',
|
||||
postcode VARCHAR(10) COMMENT '邮编',
|
||||
tel VARCHAR(30) COMMENT '联系电话',
|
||||
tel VARCHAR(50) COMMENT '联系电话',
|
||||
contact VARCHAR(10) COMMENT '联系人',
|
||||
fax VARCHAR(30) COMMENT '传真',
|
||||
mobile VARCHAR(30) COMMENT '手机号',
|
||||
mobile VARCHAR(16) COMMENT '手机号',
|
||||
created_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
updated_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT '企业表';
|
||||
@@ -37,7 +37,7 @@ sql_create2 = """
|
||||
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
|
||||
region_code VARCHAR(16) COMMENT '邮编',
|
||||
regian_name VARCHAR(20) COMMENT '区域名',
|
||||
note VARCHAR(120) COMMENT '备注',
|
||||
note VARCHAR(200) COMMENT '备注',
|
||||
parent_id BIGINT COMMENT '父级ID',
|
||||
created_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
updated_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
|
||||
@@ -66,14 +66,11 @@ sql_insert_region = """
|
||||
"""
|
||||
logging.basicConfig(level=logging.INFO,
|
||||
format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
|
||||
datefmt='%Y-%m-%d %H:%M:%S')
|
||||
datefmt='%Y-%m-%d %H:%M:%S',
|
||||
handlers=[logging.FileHandler('excel.log', 'a', 'utf-8')])
|
||||
_log = logging.getLogger('app.' + __name__)
|
||||
|
||||
|
||||
def _log_info(msgpre):
|
||||
_log.info('{}---{}'.format(msgpre, datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')))
|
||||
|
||||
|
||||
def _connect():
|
||||
config = {
|
||||
'user': 'root',
|
||||
@@ -117,13 +114,16 @@ def parse_sheet(wb, sheet_name, column_num, log_msg):
|
||||
break
|
||||
row_data.append(cell.value)
|
||||
result_list.append(row_data[:])
|
||||
_log_info(log_msg)
|
||||
_log.info(log_msg)
|
||||
return result_list
|
||||
|
||||
|
||||
def handle_wrong_line(wrong_line):
|
||||
pass
|
||||
|
||||
def xlsx_to_table(xlsx_name):
|
||||
conn_ = _connect()
|
||||
_log_info('Excel文件解析start')
|
||||
_log.info('Excel文件解析start')
|
||||
wb = load_workbook(xlsx_name, read_only=True)
|
||||
# 先收集企业资料表
|
||||
list1 = parse_sheet(wb, 'customer', 6, 'customer表解析end')
|
||||
@@ -134,36 +134,44 @@ def xlsx_to_table(xlsx_name):
|
||||
# 收集区域表
|
||||
list3 = parse_sheet(wb, 'region', 5, 'region表解析end')
|
||||
data3 = [(v[0], v[1], v[2], v[3], v[4]) for v in list3[1:]]
|
||||
_log_info('Excel文件解析end')
|
||||
|
||||
_log.info('Excel文件解析end')
|
||||
_log.info('---------------------------分割线--------------------------------')
|
||||
_log.info('数据库更新start')
|
||||
cursor = conn_.cursor()
|
||||
try:
|
||||
_log.info('插入企业资料start')
|
||||
for i, d1 in enumerate(data1):
|
||||
if len(d1[1]) > 300 and not d1[2]:
|
||||
_log.error('这一行有问题')
|
||||
handle_wrong_line(d1)
|
||||
continue
|
||||
cursor.execute(sql_insert_enterprise, d1)
|
||||
if i % 50 == 0:
|
||||
conn_.commit()
|
||||
conn_.commit()
|
||||
_log.info('插入企业资料end')
|
||||
|
||||
_log_info('插入企业资料start')
|
||||
for i, d1 in enumerate(data1):
|
||||
cursor.execute(sql_insert_enterprise, d1)
|
||||
if i % 50 == 0:
|
||||
conn_.commit()
|
||||
conn_.commit()
|
||||
_log_info('插入企业资料end')
|
||||
_log.info('更新企业联系信息start')
|
||||
for i, d2 in enumerate(data2):
|
||||
cursor.execute(sql_update_enterprise, d2)
|
||||
if i % 50 == 0:
|
||||
conn_.commit()
|
||||
conn_.commit()
|
||||
_log.info('插入企业资料表end')
|
||||
|
||||
_log_info('更新企业联系信息start')
|
||||
for i, d2 in enumerate(data2):
|
||||
cursor.execute(sql_update_enterprise, d2)
|
||||
if i % 50 == 0:
|
||||
conn_.commit()
|
||||
conn_.commit()
|
||||
_log_info('插入企业资料表end')
|
||||
_log.info('插入区域信息start')
|
||||
for i, d3 in enumerate(data3):
|
||||
cursor.execute(sql_insert_region, d3)
|
||||
if i % 50 == 0:
|
||||
conn_.commit()
|
||||
conn_.commit()
|
||||
_log.info('插入区域信息end')
|
||||
|
||||
_log_info('插入区域信息start')
|
||||
for i, d3 in enumerate(data3):
|
||||
cursor.execute(sql_insert_region, d3)
|
||||
if i % 50 == 0:
|
||||
conn_.commit()
|
||||
conn_.commit()
|
||||
_log_info('插入区域信息end')
|
||||
|
||||
_log_info('数据库更新end')
|
||||
except:
|
||||
logging.exception('Got exception on db handler')
|
||||
raise
|
||||
|
||||
_log.info('数据库更新end')
|
||||
cursor.close()
|
||||
conn_.close()
|
||||
|
||||
|
||||
@@ -25,12 +25,12 @@
|
||||
for li in lines:
|
||||
if pattern in li:
|
||||
yield li, previous_lines
|
||||
previous_lines.append(line)
|
||||
previous_lines.append(li)
|
||||
|
||||
# Example use on a file
|
||||
if __name__ == '__main__':
|
||||
with open(r'../../cookbook/somefile.txt') as f:
|
||||
for line, prevlines in search(f, 'Python', 5):
|
||||
for line, prevlines in search(f, 'python', 5):
|
||||
for pline in prevlines:
|
||||
print(pline, end='')
|
||||
print(line, end='')
|
||||
|
||||
Reference in New Issue
Block a user