ZhangZhihui's Blog  

 

import pandas as pd
import numpy as np

df_tables = pd.read_csv('tables.csv', names=['table_name'], header=None)

df_tables['split_list'] = df_tables['table_name'].str.split('_')

df_tables['layer'] = np.where(df_tables['split_list'].str[0].isin(['s', 'S', 'ods', 'ODS']), '贴源层', 
                              np.where(df_tables['split_list'].str[0].str.startswith(('a', 'A')), '应用层', 
                                      np.where(df_tables['split_list'].str[0].str.startswith(('b', 'B')), '基础层', '')))


df_system_acronyms = pd.read_csv('system_acronyms.csv', names=['acronym', 'system'], header=None)

system_acronym_dict = dict(zip(df_system_acronyms['acronym'], df_system_acronyms['system']))

col1_map = df_tables['split_list'].str[1].str.upper().map(system_acronym_dict)
col2_map = df_tables['split_list'].str[2].str.upper().map(system_acronym_dict)
df_tables['biz_system'] = col1_map.fillna(col2_map).fillna('')


df_app_no_names = pd.read_csv('app_no_names.csv', names=['app_no', 'app_name'], header=None)
app_no_name_dict = dict(zip(df_app_no_names['app_no'], df_app_no_names['app_name']))
col0_map = df_tables['split_list'].str[0].str.upper().map(app_no_name_dict)
df_tables['app'] = col0_map.fillna('')

df_subject_no_names = pd.read_csv('subject_no_names.csv', names=['subject_no', 'subject_name'], header=None)
subject_no_name_dict = dict(zip(df_subject_no_names['subject_no'], df_subject_no_names['subject_name']))
col0_map = df_tables['split_list'].str[0].str.upper().map(subject_no_name_dict)
df_tables['subject'] = col0_map.fillna('')

df_tables[['table_name', 'layer', 'biz_system', 'app', 'subject']].to_csv('tables_commented.csv', index=False, encoding='utf-8', header=False)

 

posted on 2025-10-21 17:06  ZhangZhihuiAAA  阅读(3)  评论(0)    收藏  举报