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.rhkb.cn/news/34360.html

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

相关文章

【3DGS】SuperSplat本地运行+修改监听端口+导入ply模型+修剪模型+在线渲染3DGS网站推荐

SuperSplat官网代码:https://github.com/playcanvas/supersplat 本地安装和运行 Clone the repository: git clone https://github.com/playcanvas/supersplat.git cd supersplat Install dependencies: npm install Build SuperSplat and start a local web ser…

MySQL中的B+树索引经验总结

一、什么是B树 B树是一种二叉树,由二叉查找树,平衡二叉树,B树演化而来。 请看上图 B树的特点: 1)非叶子节点不存放数据,只存放键值,数据都存放在叶子节点中。 2)叶子节点都在同一…

C# NX二次开发:在多个体的模型中如何实现拉伸操作布尔减

大家好,今天接着上一篇拉伸文章去讲。 UF_MODL_create_extruded1 (view source) uf_list_p_tobjectsInputList of objects to be extruded.char *taper_angleInputTaper angle (in degrees).char *limit [ 2 ]InputLimit of extrusion. This is declared as: char …

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

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

前端高级CSS用法

前端高级CSS用法 在前端开发中,CSS(层叠样式表)不仅是用来控制网页的外观和布局,更是实现复杂交互和动态效果的关键技术之一。随着前端技术的不断发展,CSS的用法也日益丰富和高级。本文将深入探讨前端高级CSS的用法&a…

How to install a package in offline scenario in Ubuntu 24.04

概述 做过信创项目的兄弟们在工作上每天可能面对很多需要解决的问题,不过,有一类问题可能是大家经常遇的,比方说,有时候我们不得不硬着头皮在离线生产环境中安装某些软件包,相信很多兄弟被这种细碎的小事搞得焦头烂额…

C++类与对象——拷贝构造与运算符重载

拷贝构造函数和赋值运算符重载就是C类默认六个函数之二。 拷贝构造函数: 如果⼀个构造函数的第⼀个参数是自身类类型的引用,且任何额外的参数都有默认值,则此构造函数 也叫做拷贝构造函数,也就是说拷贝构造是⼀个特殊的构造函数…

数学建模 第一节

目录​​​​​​ 前言 一 优化模型的类型 二 线性规划1 线性规划2 三 0-1规划 总结 前言 数学建模主要是将问题转化为模型,然后再以编程的形式输出出来 算法都知道,数学建模也需要用到算法,但是不是主要以编程形式展示,而是…

计算机网络——DNS

一、什么是DNS? DNS(Domain Name System,域名系统) 是互联网的核心服务,负责将人类可读的域名(如 www.baidu.com)转换为机器可识别的 IP地址(如 14.119.104.254)。它像一…

【软考-架构】5.2、传输介质-通信方式-IP地址-子网划分

✨资料&文章更新✨ GitHub地址:https://github.com/tyronczt/system_architect 文章目录 传输介质网线光纤无线信道 通信方式和交换方式会考:交换方式 💯考试真题第一题第二题 IP地址表示子网划分💯考试真题第一题第二题 传输…

基于SpringBoot+Vue的毕业论文管理系统+LW示例参考

1.项目介绍 系统角色:管理员、指导教师、评阅教师、学生功能模块:用户管理、毕业论文管理、课题信息管理、选题申请管理、课题任务管理、基础数据管理、公告信息管理、评阅教师管理、指导教师管理等技术选型:SpringBoot,Vue等测试…

文件系统 linux ─── 第19课

前面博客讲解的是内存级文件管理,接下来介绍磁盘级文件管理 文件系统分为两部分 内存级文件系统 : OS加载进程 ,进程打开文件, OS为文件创建struct file 和文件描述符表 ,将进程与打开的文件相连, struct file 内还函数有指针表, 屏蔽了底层操作的差异,struct file中还有内核级…

第十次CCF-CSP认证(含C++源码)

第十次CCF-CSP认证 分蛋糕满分题解 学生排队满分题解 Markdown语法题目解读满分代码 结语 分蛋糕 题目链接 满分题解 基本思路:我们需要保证除了最后一个小朋友之外的所有人,分得的蛋糕都大于等于给定的K值,为什么是大于等于,是…

MyBatis框架操作数据库一>xml和动态Sql

目录 配置连接字符串和MyBatis:数据库的连接配置:XML的配置: XML编写Sql:model层:mapper层: 动态Sql:if 标签和trim标签:where标签:Set标签:Foreach标签: Mybatis的开发有两种方式:: 注解和XML&…

编写Dockerfile制作tomcat镜像,生成镜像名为tomcat:v1,并推送到私有仓库。

1.具体要求如下: 基于rockylinux:8基础镜像; 指定作者为openlab; 安装tomcat服务,暴露8080端口; 设置服务自启动。 总结步骤:基于rockylinux:8,安装Java环境,安装Tomcat&a…

医院手术麻醉信息系统是如何为医院提质增效的?

近年来,随着HIS系统、LIS系统、PACS系统、EMR系统等信息系统的出现,医疗信息化已成为医疗领域推广的重点,显著提高了医院业务的运营效率。手术麻醉系统作为医院信息系统的一部分,由两个子部分组成:监测设备数据采集系统…

ios打包需要的证书及步骤

官网:https://developer.apple.com/account 避免他人登录apple账号的方法:就是让他们发测试设备的udid,手动注册到账号下,然后再给他们导p12证书和描述文件 iOS App Development iOS 开发版本签名(仅限 iOS App&#x…

C#特性和反射

1。特性概念理解? 特性(Attribute)是用于在【运行时】传递程序中各种元素(比如类、属性、方法、结构、枚举、组件等)行为信息的声明性标签。您可以通过使用特性向程序添加声明性信息。一个声明性标签是通过放置在它所…

【毕业论文格式】word分页符后的标题段前间距消失

文章目录 【问题描述】 分页符之后的段落开头,明明设置了标题有段前段后间距,但是没有显示间距: 【解决办法】 选中标题,选择边框 3. 选择段前间距,1~31磅的一个数 结果

操作系统-八股

进程基础: 进程定义:运行中的程序,有独立的内存空间和地址,是系统进行资源调度和分配的基本单位。 并发,并行 并发就是单核上面轮询,并行就是同时执行(多核); 进程上下…