代码对比
原代码
总表 = pd.DataFrame(columns = ['部门名称','接口个数','表名','链接'])
for department_title in departments_info['部门名称'].to_list():
部门表 = departments_info[departments_info['部门名称'] == department_title ].copy()
print(department_title)
api_details = get_api_details(department_title)
if not api_details.empty:
部门表 = 部门表.merge(api_details, on='部门名称', how='left')
else:
print(f"没有找到部门 {department_title} 的API详情。")
总表 = pd.concat( [总表,部门表],axis=0)
for url in 总表['链接'].to_list():
单个url表 = 总表[总表['链接'] == url ].copy()
if isinstance(url, str) and url.startswith("http"):
information_items = get_information_items(url)
if not information_items.empty:
单个url表 = 单个url表.merge(information_items, on=['链接'], how='left')
添加表信息的总表 = pd.concat([添加表信息的总表,单个url表],axis=0)
driver.quit()
writer = pd.ExcelWriter('20240324.xlsx')
添加表信息的总表.to_excel(writer,index=False)
writer.save()
升级后代码
def enrich_department_info(row):
api_details = get_api_details(row['部门名称'])
return pd.Series({
'接口个数': api_details.get('接口个数', None),
'表名': api_details.get('表名', None),
'链接': api_details.get('链接', None),
})
departments_info[['接口个数', '表名', '链接']] = departments_info.apply(enrich_department_info, axis=1)
def fetch_information_items(url):
if pd.notna(url) and url.startswith("http"):
information_items = get_information_items(url)
return information_items
return pd.DataFrame()
departments_info['信息项内容'] = departments_info['链接'].apply(fetch_information_items)