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

 

 

### 如何在CANoe中将报文日志或数据导出为Excel格式 #### 使用X-CAN功能导出数据 通过X-CAN工具,用户可以直接将绘制的曲线数据导出至剪贴板、EXCEL或者简化图像。这一操作可以通过在主图上右键点击并选择相应的导出选项完成[^1]。 #### 利用Trace窗口导出数据 在CANoe软件中,Trace窗口记录了所有的总线活动和消息交互情况。为了将这些数据保存到Excel文件中,可以先从Trace窗口中筛选所需的数据项,随后将其复制粘贴到Microsoft Excel或其他电子表格程序中。此外,还可以利用Trace窗口的“Export”功能直接将数据导出为CSV格式,这种格式能够被Excel轻松读取和处理[^2]。 #### 借助Graphics分析窗口实现信号数据导出 对于更复杂的信号数据分析需求,可通过创建Graphics图表来可视化特定信号的变化趋势。具体方法是从主菜单栏中的Analysis -> Graphics新建一个图形界面,或者从Measurement Setup里的Graphics模块开启相应设置。在此基础上添加目标信号后,不仅可以观察其动态表现,还能进一步把所选时间段内的数值提取出来,并转换成适合导入Excel的形式[^3]。 ```python import pandas as pd def export_to_excel(data, filename="output.xlsx"): df = pd.DataFrame(data) writer = pd.ExcelWriter(filename, engine='xlsxwriter') df.to_excel(writer, index=False) writer.save() # Example usage of the function with dummy data dummy_data = {'Time': [0, 1, 2], 'SignalValue': [5, 7, 9]} export_to_excel(dummy_data) ``` 上述Python脚本提供了一个简单的例子展示如何将数据框写入Excel文档;如果需要自动化此过程,则可以根据实际采集到的信息调整输入参数以匹配具体的结构化数据集。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

picoasis

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值