import xlrd import xlwt import re import pandas as pd from datetime import date,datetimefile_path = "C:\\Users\\function_model.xls" def readexcel():df = pd.read_excel(file_path ,"配置")# e_id# id# expression# name# freq# column_data = df['e_id']excel_date = df.loc[:, ['e_id', 'id','expression', 'name', 'freq']]str1= 'rDataV'str2 = 'fillMissingDates'str3 = 'jactor_value'history3 = 'quantile(B'trend_judgement = 'judgement('marginal_trend_media = 'trend_media('my_array = []list_name = ["e_id", "expression_index", "expression_name", "expression_factor_freq","expression_factor_id", "expression_factor_is_industry", "expression_name"]my_array.append(list_name)for index, row in excel_date.iterrows():expression = row['expression']e_id = row['e_id']id = row['id']name = row['name']freq = row['freq']if str1 in expression:list_index=[e_id ,0 , "B" ,freq ,0 ,0 ,"仅占位"]my_array.append(list_index)elif str2 in expression:pattern = r'\b\d{12}\b'matches = re.findall(pattern, expression)list_index = [e_id, 0, "B", freq, matches[0], 1, name[:-4]]my_array.append(list_index)elif marginal_trend_media in expression:pattern = r'\b\d{12}\b'matches = re.findall(pattern, expression)list_index = [e_id, 0, "B", freq, matches[0], 1, name[:-5]]my_array.append(list_index)elif history3 in expression:pattern = r'\b\d{12}\b'matches = re.findall(pattern, expression)list_index = [e_id, 0, "B", freq, matches[1], 1, name[:-5]]my_array.append(list_index)elif trend_judgement in expression:pattern = r'\b\d{12}\b'matches = re.findall(pattern, expression)list_index = [e_id, 0, "B", freq, matches[1], 1, name[:-5]]my_array.append(list_index)elif str3 in expression:list_index = [e_id, 0, "B", freq, 0, 0, "占位"]my_array.append(list_index)else:list_index = [e_id, 0, "B", freq, "待填充", 1, "待填充"]my_array.append(list_index)print(my_array)# 将数组转化为DataFramedd = pd.DataFrame(my_array)dd.to_excel('配置.xlsx', index=False, header=False)if __name__ == '__main__':readexcel()