当前位置: 首页 > news >正文

罗湖商城网站设计推荐今日热点新闻头条

罗湖商城网站设计推荐,今日热点新闻头条,网络推广优化seo,网站建设 怎么设置在线客服测试data_management函数 这是我最近正在开发的AI工具信息平台的部门功能模块测试,基于streamlit架构。整理出来与大家分享,也为我以后自己回溯找到资源。 为了测试 data_management 函数并结合 Excel 文件中的 “Tools” 表单内容,我们需要…

测试data_management函数

这是我最近正在开发的AI工具信息平台的部门功能模块测试,基于streamlit架构。整理出来与大家分享,也为我以后自己回溯找到资源。

为了测试 data_management 函数并结合 Excel 文件中的 “Tools” 表单内容,我们需要进行以下步骤:

  1. 确保 Excel 文件准备好:你的 Excel 文件(例如 test_tools.xlsx)应包含相关的工具数据。
  2. 实现 save_all_data 函数:确保有一个函数用于保存数据回 Excel 文件。
  3. 编写完整的测试代码:将 data_management 函数整合到一个 Streamlit 应用中,以便从 Excel 读取数据、执行管理操作并实时展示结果。

步骤 1:准备 Excel 文件

确保你的 Excel 文件 test_tools.xlsx 内容如下:

NameCategoryCountryCompanyDescriptionURLOpen SourcePopularityLastUpdated
通义千问大语言模型中国阿里巴巴阿里云企业级大模型平台https://tongyi.aliyun.com4002024/2/11
智谱清言App大语言模型中国智谱AI新一代认知智能大模型,提供对话、问答等功能https://chatglm.cn/50002025/1/22
Tool A大语言模型USACompany AA great toolhttp://example.com1002023/1/1
Tool B大语言模型CanadaCompany BAnother great toolhttp://example2.com2002023/1/2
Tool C大语言模型UKCompany CAmazing toolhttp://example3.com1502023/1/3

步骤 2:实现 save_all_data 函数

确保你能将数据保存回 Excel 文件。以下是一个简单的示例实现:

def save_all_data(excel_file, tools_data, tutorials_data):"""保存所有数据到 Excel 文件"""with pd.ExcelWriter(excel_file) as writer:# 将工具数据写入工作表for category, items in tools_data.items():df = pd.DataFrame(items)df.to_excel(writer, sheet_name=category, index=False)# 如果有教程数据,也可以保存到对应的工作表if tutorials_data:  # 示例,如果有必要可以添加处理tutorials_df = pd.DataFrame(tutorials_data)tutorials_df.to_excel(writer, sheet_name='Tutorials', index=False)return True

步骤 3:编写完整的 Streamlit 应用代码

data_management 函数整合到一个完整的 Streamlit 应用中,读取 Excel 文件并实现数据的管理功能:

import pandas as pd
import streamlit as st
import datetime# 国家标志示例
COUNTRY_FLAGS = {'中国': '🇨🇳','USA': '🇺🇸','Canada': '🇨🇦','UK': '🇬🇧'
}def save_all_data(excel_file, tools_data, tutorials_data):"""保存所有数据到Excel"""try:tools_rows = []for category, items in tools_data.items():for item in items:tools_rows.append({'Name': item['name'],'Category': category,'Country': item['country'],'Company': item.get('company', ''),'Description': item['description'],'URL': item['url'],'Open Source': item['open_source']})tools_df = pd.DataFrame(tools_rows)tutorials_rows = []for tool_name, tutorials in tutorials_data.items():for tut in tutorials:tutorials_rows.append({'TutorialID': tut['id'],'RelatedTool': tool_name,'Title': tut['title'],'URL': tut['url'],'Type': tut['type'],'DifficultyLevel': tut['difficulty'],'Duration': tut.get('duration', ''),'Rating': tut.get('rating', None),'Language': tut.get('language', '中文'),'Tags': ', '.join(tut.get('tags', [])),'VersionCompatible': tut.get('version', ''),'Author': tut.get('author', '')})tutorials_df = pd.DataFrame(tutorials_rows)with pd.ExcelWriter(excel_file, engine='openpyxl') as writer:tools_df.to_excel(writer, sheet_name='Tools', index=False)tutorials_df.to_excel(writer, sheet_name='Tutorials', index=False)return Trueexcept Exception as e:st.error(f"保存失败:{str(e)}")return Falseclass EnhancedConfig:SERPER_API_KEY = 'your api_key'  # 替换为实际的 API 密钥def render_url(url):"""根据URL生成超链接"""if url and url != '无':return f'<a href="{url}" class="link-btn" target="_blank">{url}</a>'else:return "<span>无可用链接</span>"def classify_tool(name, description):"""模拟分类工具的功能"""return '大语言模型'  # 示例返回def data_management(excel_file, tools_data):# 新增分类验证功能if st.sidebar.button("🔍 分类质量检查"):error_count = 0for category, items in tools_data.items():for item in items:predicted = classify_tool(item['name'], item['description'])if predicted != category:st.warning(f"分类不一致:{item['name']} 当前分类:{category},预测分类:{predicted}")error_count += 1st.info(f"完成检查,发现{error_count}个潜在分类问题")# 数据管理界面st.sidebar.subheader("数据管理")operation = st.sidebar.radio("操作类型", ["添加条目", "编辑条目", "删除分类", "增加分类"])if operation == "添加条目":category = st.selectbox("选择分类", list(tools_data.keys()) + ["新增分类"])if category == "新增分类":category = st.text_input("请输入新分类名称")with st.form("添加表单"):name = st.text_input("工具名称")url = st.text_input("官网URL")country = st.selectbox("所属国家", list(COUNTRY_FLAGS.keys()))company = st.text_input("公司名称")description = st.text_area("工具描述")open_source = st.selectbox("是否开源", ["是", "否"])popularity = st.slider("初始流行度", 500, 2000, 1000)if st.form_submit_button("提交"):if all([category, name, url]):new_item = {'name': name,'url': url,'description': description,'country': country,'open_source': open_source,'company': company,'popularity': popularity,'last_updated': datetime.datetime.now()}if category not in tools_data:tools_data[category] = []tools_data[category].append(new_item)if save_all_data(excel_file, tools_data, {}):  # 假设没有教程数据st.success("添加成功!")else:st.error("请填写必填字段(分类、名称、URL)")elif operation == "编辑条目":category = st.selectbox("选择分类", list(tools_data.keys()))items = tools_data.get(category, [])if items:index = st.selectbox("选择条目", range(len(items)), format_func=lambda x: items[x]['name'])with st.form("编辑表单"):new_category = st.text_input("新分类名称", value=category)name = st.text_input("工具名称", value=items[index]['name'])url = st.text_input("官网URL", value=items[index]['url'])# 确保安全地获取国家try:selected_country_index = list(COUNTRY_FLAGS.keys()).index(items[index]['country'])except ValueError:selected_country_index = 0  # 默认到第一个国家country = st.selectbox("所属国家", list(COUNTRY_FLAGS.keys()), index=selected_country_index)company = st.text_input("公司名称", value=items[index]['company'])description = st.text_area("工具描述", value=items[index]['description'])open_source = st.selectbox("是否开源", ["是", "否"],index=["是", "否"].index(items[index]['open_source']))if st.form_submit_button("保存修改"):del tools_data[category][index]if new_category not in tools_data:tools_data[new_category] = []tools_data[new_category].append({'name': name,'url': url,'description': description,'country': country,'open_source': open_source,'company': company})if not tools_data[category]:del tools_data[category]if save_all_data(excel_file, tools_data, {}):  # 假设没有教程数据st.success("修改已保存!")else:st.warning("该分类下没有条目可供编辑或删除!")elif operation == "增加分类":new_category = st.text_input("请输入新分类名称")if st.button("提交"):if new_category:if new_category not in tools_data:tools_data[new_category] = []save_all_data(excel_file, tools_data, {})st.success(f"分类 '{new_category}' 已成功添加!")else:st.error("该分类已存在,请选择其他名称。")else:st.error("分类名称不能为空。")elif operation == "删除分类":category = st.selectbox("选择分类", list(tools_data.keys()))if st.button("确认删除"):del tools_data[category]if save_all_data(excel_file, tools_data, {}):  # 假设没有教程数据st.success(f"分类 {category} 已删除!")def main():# 从 Excel 文件读取工具数据excel_file = 'test.xlsx'tools_data = {}# 读取 Excel 文件内容df = pd.read_excel(excel_file, sheet_name='Tools')# 构建工具数据字典for _, row in df.iterrows():category = row['Category']if category not in tools_data:tools_data[category] = []tools_data[category].append({'name': row['Name'],'url': row['URL'],'description': row['Description'],'country': row['Country'],'open_source': row['Open Source'],'company': row['Company'],'popularity': row['Popularity'],'last_updated': row['LastUpdated']})data_management(excel_file, tools_data)if __name__ == "__main__":main()

步骤 4:运行测试

将上述代码保存为 Python 文件,例如 data_management_app.py,然后在命令行中运行以下命令:

streamlit run data_management_app.py

验证输出

当应用启动后,你应该能够通过侧边栏操作来:

  • 进行分类质量检查
  • 添加、编辑和删除条目
  • 增加或删除分类

确保在每次操作后正确更新 Excel 文件,并在页面上显示相应的结果和消息。

注意事项

  1. Excel 文件路径:确保 Excel 文件路径正确或与脚本在同一目录下。
  2. 异常处理:在操作中添加异常处理以捕获错误。
  3. 数据有效性检查:确保用户输入的数据格式正确。

通过这些步骤,你应该能够测试 data_management 函数。如果有任何问题或进一步的要求,请随时告诉我!

http://www.dinnco.com/news/55563.html

相关文章:

  • 自动做PPT的网站专业外贸网络推广
  • 网站建设的步骤过程百度网站的网址是什么
  • 郑州看妇科最好的医院是哪里衡阳seo优化首选
  • 海外网三农频道常德网站优化公司
  • 泉州网站制作哪个好薇新媒体口碑营销案例
  • 大气物流网站源码上海外贸网站seo
  • 个人博客网站制作搭建外包公司有哪些
  • 上海建设工程质监站网站51网站统计
  • 学校内部网站开发价格百度搜索排行榜
  • 电脑做科目一网站网络推广外包业务怎么样
  • 怎样做赌博网站发帖推广哪个平台好
  • 合肥网站建设合肥做网站怎么建网站平台卖东西
  • 阿里巴巴上怎样做自己的网站seo优化网络公司排名
  • 做视频商用模板哪个网站靠谱天堂网长尾关键词挖掘网站
  • 做网站的 视频百度网页版链接地址
  • 广西 网站建设百度权重划分等级
  • 有什么网站可以兼职做翻译西安疫情最新数据
  • 做移门的网站百度安装应用
  • 建立一个网站需要什么技术seo文章优化方法
  • 一个网站开发项目小组成员如何推广公司
  • 网站开发用电脑配置长沙seo霜天
  • 天津河西做网站哪家好2345网址导航智能主板
  • 要如何做才能拥有自己的网站呢优化设计答案六年级上册
  • 网站制作app排行榜前十名灰色行业怎么推广引流
  • 十堰网站建设哪家专业手机优化大师
  • it行业哪个专业最吃香seo优化范畴
  • 企业网站asp源代码关键词搜索网站
  • 小学网站源码php专业做加盟推广的公司
  • 海南电子商务网站国际新闻最新消息2022
  • 做企业网站需要什么百度免费打开