一、缘起:一项"不可能完成"的任务
作为县域高中管理者,我的IMA知识库中积累了上千份珍贵的教育教学资料。2026年5月,我决定对这些资料做一次全面梳理——将知识库中分散在7个文件夹里的Excel文件批量转换为CSV格式,便于后续数据分析和统计查询。
乍一看,这是一项极其繁琐的工作:需要逐个文件夹扫描、识别Excel文件、下载、转换格式……如果纯手工操作,一个文件夹就可能要耗费大半天。幸运的是,WorkBuddy的AI助手帮了我一个大忙——整个转换工作,从调试到完成,前后不到两小时。
二、挑战:三个没想到
(一)第一个没想到:知识库文件夹ID查不到
动手之前,我以为调用API查文件夹列表是件简单的事——输入知识库ID,调接口,返回结果。结果一跑就撞了墙:传了folder_id = knowledge_base_id,API返回了"文件夹不存在"的错误。反复尝试多次,错误依旧。
后来仔细比对之前成功运行的脚本,才发现正确的调用方式:不传folder_id参数,直接调用根目录列表接口,API会正确返回所有文件夹的ID和名称。就这样,一个看似基础的问题,反而成了第一道门槛。
(二)第二个没想到:下载链接藏在"看不见"的字段里
拿到文件夹ID后,扫描、识别Excel文件、逐个获取下载链接——这部分进展顺利。然而当脚本尝试下载文件时,三个文件全部报错:获取下载链接失败。检查代码逻辑,接口调用正确,权限也正常,为什么拿不到URL?
用调试脚本把API返回的原始JSON打印出来一看,恍然大悟:接口返回的结构根本不是文档里常见的data.download_url,而是一个嵌套结构data.url_info.url!而且下载这个URL还需要带上url_info.headers里那串签名头信息,否则服务器直接拒绝访问。
(三)第三个没想到:同一个函数,换个版本就不work了
好不容易把下载问题解决了,转换又出了状况。脚本在读取Excel时报错:"Worksheet does not exist"(工作表不存在)。对比上次同类型的转换脚本,明明用的是同一套函数,为什么这次报错?
仔细检查才发现,问题出在openpyxl的版本差异上。上次使用的读取模式在当前版本中已不再适用,正确方式是wb.worksheets[sheet_index]。一个看似微小的API差异,足以导致整段代码失效。
三、方法:AI助手是这样帮我完成任务的
(一)精准定位文件夹ID
AI助手通过对比多份历史脚本的调用差异,发现了get_knowledge_list接口的根目录查询方式,最终定位到"本人文件"文件夹的真实ID,并同步梳理出其余6个文件夹的完整ID清单,为后续所有批处理任务奠定了基础。
(二)调试驱动,逐层排错
整个过程中,AI助手采用"写脚本—运行—打印日志—分析结果"的调试循环,每次只改一个变量:
● 先单独测试文件夹列表接口,确认返回结构
● 再单独测试下载接口,打印完整JSON响应
● 找到URL和headers字段后,更新下载函数
● 最后跑完整流程,用日志追踪每一步是否正常
这种小步快跑的方式,让问题无处遁形,最终三个文件全部一次性转换成功。
(三)自动翻页,批量处理
该文件夹共有33个条目,AI助手在脚本中实现了自动翻页机制:每页读取50条,若is_end=false则继续读取下一页,直到遍历完全部条目。扫描完成后自动过滤出Excel文件,逐个处理。
四、成果:5份CSV,全自动生成
所有文件均保存至桌面"本人文件_Excel转CSV"文件夹,CSV采用UTF-8编码(含BOM),用Excel或WPS均可直接打开,无乱码问题。
五、启示:用好AI,这三件事很关键
(一)好问题比好答案更重要
在调试API接口时,AI助手并没有"一拍脑袋"给出正确代码,而是先通过打印完整响应来观察真实数据结构。这启示我们:向AI描述问题时,提供足够的背景信息(哪里报错、哪一步卡住、期望什么结果),比单纯说"帮我解决"更有效。
(二)小步验证,避免大返工
整个过程中,AI助手从未一次性写完整个脚本就交差,而是每解决一个问题就运行一次,及时发现下一个问题。这种"写一点、调一点"的节奏,是高效使用AI的关键习惯。
(三)记录是AI的"外脑"
每次调试成功的经验,都被AI助手记录到长期记忆文件中,包括API字段路径、文件夹ID、编码规范等细节。下次再做类似任务时,无需重新摸索,直接调用既有经验即可。
技术是工具,思维才是核心
回过头看,这项任务的技术实现并不复杂——扫描文件夹、调API、下载文件、格式转换,都是标准操作。但正因为有了AI助手的参与,整个过程从"反复试错"变成了"精准调试",效率提升了数倍不止。
AI不是万能的,但它可以成为你最可靠的"外脑"——帮你记住细节、帮你分析问题、帮你自动执行。与其担心AI会取代什么,不如想想:有了AI之后,哪些重复劳动可以彻底放手?
2026年5月14日
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。