Cursor初体验:excel转成CANoe的vsysvar文件

今天公司大佬先锋们给培训了cursor的使用,还给注册了官方账号!跃跃欲试,但是测试任务好重,结合第三方工具开发也是没有头绪。

但巧的是,刚好下午有同事有个需求,想要把一个几千行的excel转成canoe的系统变量文件直接导入到工程。

这不正好是cursor适用的,最简易的功能应用场景嘛~!

拿来练手,成功了~!!整体耗时不到3个小时,包含写这篇文章的时间。

心得:

  • 最开始给cursor的指令要明确!且少量!
  • 在第一次成功生成的基础上,再继续让它修改代码;就像真正的需求开发一样,逐渐迭代。
  • 否则一旦出现问题,将很难定位问题点——如果开发人员对代码语法不熟悉,仅仅依赖cursor自己修复bug,cursor自己的解决方向会越来越偏。
  • 当修复很多次都得不到预期结果时,最好是Ctrl+N新开一个chat窗口,将前面的经验汇总成新的需求描述告诉给cursor。
  • 在逐级迭代的过程中,验证代码的正确性的方法:可以先使用需求迭代前的测试文件,让代码运行,确保运行结果正确——保证以前的功能没有被改错;再使用针对新需求的测试文件,验证新的功能点是否实现。
  • 降低不必要的工作量--不重复造轮子,明确真正的需求:转化时发现cursor读取excel有困难,但cursor可以读取csv,最开始尝试让cursor自己将excel转成csv,再进行后面的数据处理----失败多次后,其实没有必要让cursor去做--wps等可以直接转化成csv,cursor在这个基础上后面的代码开发才是需求的核心功能。
  • 降低功能实现的复杂度——类比于数据分析之前的数据清洗————这一点我也不确定是不是对生成核心功能有效——比如
  • (1)excel表中的内容,无关项(序号列)直接删除,
  • (2)列名使用英文的与CANoe系统变量文件中的属性相近的名称
  • (3)文件名称不使用特殊符号--使用英文小写数字及下划线的组合
  • (4) 需求excel里要转化的条目都是double类型的,就不用考虑整数和字符串以及数组之类的

源vsysvar文件来自于自己从canoe 导出的简易系统变量文件,尽量涵盖各种数据状态,比如某些属性为空。让cursor了解不同取值状态的文件结构。

最后验证生成正确的方法就是:导入canoe,能够识别到对应系统变量。

成功的chat过程:

下面是最后成功生成的提示词:

  1.  提示1:@abc.csv @target3.vsysvar 将abc.csv文件转化成vsysvar结构的文件,名称为111.vsysvar,除了具体变量定义中的属性,每行数据各有不同,其他属性都使用默认值,数据类型都是double;参考target3.vsysvar的文件结构,;将转化的代码保存在main.py中;这段代码应当支持超过2个不同的namespace命名空间的csv文件的格式转化
    1. 这其中“除了具体变量定义中的属性,每行数据各有不同”的需求描述,是来自于前面多次尝试的心得---让cursor识别两个文件的结构,了解cursor是如何理解这个文件的,站在cursor的角度去描述需求
    2. cursor执行后发现失败,会自动定位失败原因尝试修复,下面的截图是一部分自我修复的记录
    3.  
  2. 提示2:用这段代码将abc_1.csv转化成999.vsysvarc
  3. 提示3:很好,继续优化这段代码,如果csv中name属性值为空,那么不创建这一行的系统变量
  4. 提示4:验证这段代码,将abc_2.csv转化成987.vsysvar
  5. 提示5:很好,继续完善这段代码,如果namesapace属性不存在,也同样跳过这一条变量的生成,但是,要在完成文件生成时,弹框提示用户,有哪些行没有生成变量;那么属性为空的也要提示;提示内容包含行的编号以及提示语“缺少name或者namespace”【中间出现报错,并自动修复】
  6. 提示6:验证这段代码,将abc_3.csv生成rrr.vsysvar文件
  7. 提示7:很好继续优化这段代码,如果namespace与name的组合必须是唯一的,如果出现了相同的组合,那么仅保留第一条,并在生成结束后,告知用户没有生成变量的行数以及原因--与哪一行名称相同
  8. 提示8:验证这段代码,将abc_4.csv生成qqq.vsysvar

文件

最后可用的只有脚本和demoexcel:

有效步骤的文件也只是很少一部分:

调试过程中生成的文件,则很多:

所有文件的下载地址

通过网盘分享的文件:SVCursor.zip
链接: https://pan.baidu.com/s/1JGw1gaAGMZU5khJjRTLNcw?pwd=4pms 提取码: 4pms

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/73473.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/73473.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

每日一题---单词搜索(深搜)

单词搜索 给出一个二维字符数组和一个单词&#xff0c;判断单词是否在数组中出现&#xff0c; 单词由相邻单元格的字母连接而成&#xff0c;相邻单元指的是上下左右相邻。同一单元格的字母不能多次使用。 数据范围&#xff1a; 0 < 行长度 < 100 0 < 列长度 <…

【深度学习】多源物料融合算法(一):量纲对齐常见方法

目录 一、引言 二、量纲对齐常见方法 2.1 Z-score标准化Sigmoid归一化 2.2 Min-Max 归一化 2.3 Rank Transformation 2.4 Log Transformation 2.5 Robust Scaling 3、总结 一、引言 类似抖音、快手、小红书等产品的信息流推荐业务&#xff0c;主要通过信息流广告、信…

deepseek为什么要开源

一、生态位的抢占与锁定&#xff1a;以 JDK 版本为例​ 在软件开发的世界里&#xff0c;生态位的抢占和先入为主的效应十分显著。就拿 Java 开发中的 JDK 版本来说&#xff0c;目前大多数开发者仍在广泛使用 JDK8。尽管 JDK17 和 JDK21 已经推出&#xff0c;且具备更多先进特性…

【AI】内容生成式AI(AIGC)的深度分析与扩展

引言 随着人工智能&#xff08;AI&#xff09;技术的迅速发展&#xff0c;AI生成内容&#xff08;AIGC&#xff09;已经在多个领域表现出巨大潜力&#xff0c;改变了内容创作的方式。这篇文章将详细介绍AI生成内容的技术原理、应用领域、优缺点、未来趋势以及相关伦理问题&…

用C++新建快捷方式

1.创建文件 新建一个文件Ink.cpp,系统会自动生成对应的EXE文件 2.编写代码 #include<stdlib.h> int main(){ system("powershell -command \"$WshShellNew-Object -comObject WScript.Shell; $Shortcut$WshShell.CreateShortcut(\%UserProfile%\\Desktop\\1.…

前端Html5 Canvas面试题及参考答案

目录 Canvas 元素的默认尺寸是多少?如何正确设置其宽高以避免图像拉伸? 如何获取 Canvas 的 2D 上下文对象?3D 上下文支持哪些技术? canvas.width 与 canvas.style.width 的区别是什么? Canvas 支持的图像格式有哪些?如何将 Canvas 转换为 Base64 图片? Canvas 中如…

基于Python的天气预报数据可视化分析系统-Flask+html

开发语言&#xff1a;Python框架&#xff1a;flaskPython版本&#xff1a;python3.8数据库&#xff1a;mysql 5.7数据库工具&#xff1a;Navicat11开发软件&#xff1a;PyCharm 系统展示 系统登录 可视化界面 天气地图 天气分析 历史天气 用户管理 摘要 本文介绍了基于大数据…

基于Uniapp开发tab选项卡/标签栏前端组件

在开发一些业务场景时候&#xff0c;可能需要切换标签栏来展示不同的信息列表。 为此开发了一个Uniapp组件&#xff08;myTab&#xff09;&#xff0c;下面为组件的展示效果&#xff1a; 案例代码&#xff1a; <template><view class"content"><myt…

练习题:87

目录 Python题目 题目 题目分析 代码实现 代码解释 列表推导式部分&#xff1a; 变量赋值和输出&#xff1a; 运行思路 结束语 Python题目 题目 使用列表推导式生成一个包含 1 到 100 中所有偶数的列表。 题目分析 本题要求使用 Python 的列表推导式生成一个包含 …

【DevOps】 基于数据驱动的Azure DevOps案例实现

推荐超级课程: 本地离线DeepSeek AI方案部署实战教程【完全版】Docker快速入门到精通Kubernetes入门到大师通关课AWS云服务快速入门实战目录 **客户场景:****解决方案:****架构:****架构细节:****结论**客户场景: 为大量客户提供基于Azure云的成果物重复部署服务。这可能…

文本组件+Image组件+图集

Canvas部分知识补充 元素渲染顺序 以Hierarchy参考 下方物体在上方物体前显示 子物体在父物体前显示 下方物体永远在前显示&#xff0c;无论上方的层次结构 资源导入 绝对路径&#xff1a;C:\Windows\Fonts下的许多字体可以用做UIText的字体资源 图片导入&#xff1a; 1.图…

【量化策略】均值回归策略

【量化策略】均值回归策略 &#x1f680;量化软件开通 &#x1f680;量化实战教程 技术背景与应用场景 在金融市场中&#xff0c;价格波动往往呈现出一定的规律性。均值回归策略正是基于这一观察&#xff0c;认为资产价格会围绕其历史平均水平上下波动。当价格偏离均值较远…

C++初阶——类和对象(二)

C初阶——类和对象&#xff08;二&#xff09; 本期内容书接上回&#xff0c;继续讨论类和对象相关内容。类和对象属于C初阶部分&#xff0c;主要反映了面向对象编程的三大基本特点之一——封装&#xff0c;在C的学习中占有举足轻重的地位&#xff01; 一、类对象模型 1.如何…

3-002: MySQL 中使用索引一定有效吗?如何排查索引效果?

1. 索引失效的常见原因 虽然索引可以加速查询&#xff0c;但在某些情况下&#xff0c;MySQL 可能不会使用索引&#xff0c;甚至使用索引反而更慢。 以下是一些常见导致索引失效的原因&#xff1a; ① 查询条件使用了 ! 或 <> 原因&#xff1a;索引通常用于范围或等值查…

LVGL移植到6818开发板

一、移植步骤 1.lv_config.h 配置文件启动 framebuffer 2、lv_config.h 配置文件关闭SDL 2.修改main.c 去掉SDL输入设备 3.修改Makefile 文件启动交叉编译 去掉警告参数 去掉SDL库 4.交叉编译代码 make clean #清空 ⭐ 必须要清空一次再编译&#xff01; 因为修改了 lv_con…

linux系统命令——权限

一、有哪些权限 读&#xff08;r&#xff09;——对应数字4 写&#xff08;w&#xff09;——对应数字2 执行&#xff08;x&#xff09;——对应数字1 二、权限及数字的对应 4对应r-- 2对应-w- 1对应--x 5对应r-x 6对应rw- 7对应rwx 三、文件的基本属性 如图&#…

Android Dagger2 框架辅助工具模块深度剖析(六)

一、引言 在 Android 开发领域&#xff0c;依赖注入&#xff08;Dependency Injection&#xff0c;简称 DI&#xff09;作为一种至关重要的设计模式&#xff0c;能显著降低代码间的耦合度&#xff0c;提升代码的可测试性与可维护性。Dagger2 作为一款强大的依赖注入框架&#…

Django项目之订单管理part3

一.前言 前面两章已经把登录给做完了&#xff0c;这一章节要说的是登录的校验和登录以后的菜单展示&#xff0c;内容还是很多的。 二.菜单和权限 2.1 是否登录 当我们进入其他的页面&#xff0c;我们首先要判断是否登录&#xff0c;这个时候我们就要借助中间件来做session和…

多线程到底重不重要?

我们先说一下为什么要讲多线程和高并发&#xff1f; 原因是&#xff0c;你想拿到一个更高的薪水&#xff0c;在面试的时候呈现出了两个方向的现象&#xff1a; 第一个是上天 项目经验高并发 缓存 大流量 大数据量的架构设计 第二个是入地 各种基础算法&#xff0c;各种基础…

AI大模型测试用例生成平台

AI测试用例生成平台 项目背景技术栈业务描述项目展示项目重难点 项目背景 针对传统接口测试用例设计高度依赖人工经验、重复工作量大、覆盖场景有限等行业痛点&#xff0c;基于大语言模型技术实现接口测试用例智能生成系统。 技术栈 LangChain框架GLM-4模型Prompt Engineeri…