#5 一步步带你用AI做Excel数据提取工具(带图形化界面)
(为了让代码生成更顺利,效果更好,我会分别使用DeepSeek(免费)、千问max(免费)、小米mimo(免费)、GPT(免费)、minimax(每天200积分,严格来说该AI已经不算是单纯的网页对话AI了)都做一遍,本文会先以其中的千问max生成的代码为例,进行介绍,所有的聊天对话我都会通过截图放出来,然后其他的AI模型的对话,我也会全部整理为excel表格,供大家查看参考,大概在明天更新出来) 注意:本文章并不是对比各AI平台能力如何的,各位也不要说谁好谁坏的东西,大家都是免费平台,都是挺好的,本文章主要是为了让你们了解,遇到AI生成的代码的BUG时,我们该怎么提问,该如何检查BUG,该如何让AI给我们修复BUG。 上篇文章,已经介绍了一下注意事项,今天我们开始正式的步骤,我们利用网页AI对话的形式构建软件,大致分为以下步骤: 大家不用担心看着流程步骤觉得不会做,我会将我的步骤都发出来供大家参考,同时也会附上一些解释。一、我们要先让Ai给我们的需求做一个整体方案,我们正常提需求即可:我是一个python新手,完全不懂操作,现在需要做一个基于单python文件的小程序,你根据以下内容先输出一份设计方案的AI提示词,需求为根据输入的标题名称,程序自动查询excel表格标题行(不一定是第一行),匹配的列,提取出来,放到一张新的excel表格中,要求:1、需要图形化的界面(*pyside6)2、可以手动选择表格3、可以手动选择标题行4、支持xls、xlsx、csv格式表格 注意:获得提示词后,记得要重新开始对话!(主要目的是减少token,对话长度过长,会严重影响生成质量,当你发现某个BUG在一个对话中一直无法修复时,就可以通过重新开始对话,重置一下) 这里给大家解释一下这个需求有哪些关键的东西,第一点,我明确的告知了AI,我是一个新手,什么都不懂,我现在要做的是一个单python文件的小程序,然后是让他提供设计方案的AI提示词,而不是直接给我代码,同时交代了我的功能需求,对于标题行也告知AI标题行并一定是第一行(根据我的经验,如果你不主动告知AI,AI就会默认标题行为第一行,这在实际情况中是不一定的,所以要注意),然后告知我输出的文件格式为一张新的表格,然后再告知了AI,我这个程序是需要图形化界面(上一篇大概说了一下,图形化界面就是软件界面)的,而且我指定了AI使用的运行库为pyside6,如果你不进行指定,那么AI一定会使用Tkinter,如果你对软件界面没特殊需求,也不是不能用,根据我自己的使用情况来看,pyside6的语法对于新人而言更容易理解,如果未来想自己深入一下,那么会更容易上手。 顺便说一下,整个流程中我不会手动去调整AI提供的初始提示词方案,都是同样的输入,同时对于新人而言,最好先使用单文件的python代码, 因为咱们是和AI网页对话的,如果某个文件出现了BUG,那么新人对于这个是不清楚的,询问AI会有很大的困难,所以建议使用单文件模式(老鸟就不要在意了)。 记得下载或者复制的代码,需保存为「名称.py」的形式,放置在一个文件夹内,通过vscode(安装问题和设置中文,不清楚的可以私信我,1对1教学)打开文件夹,选择你保存代码的文件夹。现在我在测试的过程中发现了两个问题,以下是我发给AI的问题: 我在测试的过程中发现了两个问题: 1、我们只能输入一个标题名称进行匹配,无法找到多列:我希望通过输入多个关键字,使用;;隔开,不区分中英文大小写 2、选择文件,开始提取时报错了 「无法读取文件: 'Import openpyxl failed. Use pip or conda to install the openpyxl package.」现在我们把两个问题都反馈给AI,题外话,有些报错我们无法复制文字,我们可以使用QQ的截图工具进行提取文字复制成功完成我们的需求,但是我在接下来的测试中发现了一问题: 现在生成的文件会覆盖同名文件,应调整为如果遇到同名文件,需自动为文件名增加递增序号,而不应直接覆盖 这里(https://pan.baidu.com/s/1_Om0d_bZeqTNhivNKtSsJA?pwd=iw1d )是我所生成,所有的文件,大家可以自取进行测试,如果测试中还有其他问题,大家也可以自行测试询问AI继续解决! 至此,我们的一个小软件就已经完成,功能实现,还有软件界面,大家可以都去试一下,明天预计会更新其他AI模型实现的效果,大家可以期待一下各家AI给我们做的软件都是什么样。 同时大家如果有想完成的项目,或者工具,也可以在评论区讨论*pyside6:一款python下基于QT的图形化框架,简单理解即可