From 56b4b90ecf6c1b360517fe86c34f74ede2d02790 Mon Sep 17 00:00:00 2001 From: xuanskyer Date: Wed, 17 May 2017 23:18:05 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E8=A7=A3=E6=9E=90=E6=96=87=E6=9C=AC=E4=B8=AD=E5=90=AB=E6=9C=89?= =?UTF-8?q?=E5=A4=9A=E4=B8=AA=E7=A9=BA=E6=A0=BC=E7=9A=84BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FileParserClass.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/FileParserClass.py b/FileParserClass.py index b46fcdc..e22128c 100644 --- a/FileParserClass.py +++ b/FileParserClass.py @@ -78,10 +78,14 @@ def parserColumn(self, table_list, table_name): ''' for column in dirty_column: tmp_list = column.strip().split(' ') - column_name = re.match(r'`(.*?)`', tmp_list[0]) + clean_list = [] + for ele in tmp_list: + if '' != ele and not ele in clean_list: + clean_list.append(ele) + column_name = re.match(r'`(.*?)`', clean_list[0]) if column_name != None: column_name = column_name.group(1) - column_type = tmp_list[1] + column_type = clean_list[1] # TODO:此处无法正确匹配,使用取列表最后一项,可能会有bug column_comment = re.match(r'.*?COMMENT \'(.*?)\'.*?', column.strip()) if column_comment is not None: @@ -90,8 +94,8 @@ def parserColumn(self, table_list, table_name): column_comment = '' - # if '\'' in tmp_list[-1]: - # column_comment = tmp_list[-1][1:-2] + # if '\'' in clean_list[-1]: + # column_comment = clean_list[-1][1:-2] # else: # column_comment = '' column_tmp.append([column_name, column_type, column_comment]) From 002e59e3cb0468e278ca9357962ba42fefa7d0de Mon Sep 17 00:00:00 2001 From: xuanskyer Date: Thu, 18 May 2017 09:41:34 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=BF=87=E6=BB=A4?= =?UTF-8?q?=E5=90=8Elist=E4=B8=BA=E7=A9=BA=E7=9A=84=E6=83=85=E5=86=B5?= =?UTF-8?q?=EF=BC=9A=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新过滤后list为空的情况:) --- FileParserClass.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/FileParserClass.py b/FileParserClass.py index e22128c..21f9e01 100644 --- a/FileParserClass.py +++ b/FileParserClass.py @@ -82,6 +82,8 @@ def parserColumn(self, table_list, table_name): for ele in tmp_list: if '' != ele and not ele in clean_list: clean_list.append(ele) + if 0 == len(clean_list): + continue column_name = re.match(r'`(.*?)`', clean_list[0]) if column_name != None: column_name = column_name.group(1) @@ -100,4 +102,4 @@ def parserColumn(self, table_list, table_name): # column_comment = '' column_tmp.append([column_name, column_type, column_comment]) table_data.append([table_name[i], column_tmp]) - return table_data \ No newline at end of file + return table_data