WindowsFormApp保存数据到csv文件

程序使用Chart控件每1.5秒获取一次数据,最多存储100个数据点。过期数据被保存到两个列表中,分别为SOC和Power。数据以Time、SOC-%和CurrentPower-W三列写入CSV,标题行已设定。通过定时器同时更新Chart并写入CSV,实现数据实时保存。
摘要由CSDN通过智能技术生成

 这个是我程序中的Chart控件,数据每隔1.5S获取一次,整个chart最多能显示100个数据,我的目的是将在Chart中显示过的数据全部保存到CSV文件中,并且分三列保存,第一列为Time,第二列为SOC,第三列为Power。

首先新建两个list为了保存过了100之后chart删除的旧数据。

private List<Tuple<DateTime, double>> socData = new List<Tuple<DateTime, double>>();
private List<Tuple<DateTime, double>> currentPowerData = new List<Tuple<DateTime, double>>();

数据一行一行地写,先把第一行的标题写上。

 writer.WriteLine("Time\t,SOC-%\t,Current Power-W");

写数据行

foreach (var data in  socData)
                {
                    string formattedTime = data.Item1.ToString("HH:mm:ss");
                    writer.WriteLine($"{formattedTime}\t,{data.Item2}\t,{currentPowerData.FirstOrDefault(d => d.Item1 == data.Item1)?.Item2}");
                }

将更新Chart和写数据到CSV文件的方法都放到同一个timer中,实现实时写入。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值