控件将数据发送到C#中的CSV文件

本文关键字:中的 CSV 文件 数据 控件 | 更新日期: 2023-09-27 18:24:06

在我的项目中,我通过Arduino测量太阳能电池板的电流和电压,并将这些值传输到c#代码中,该代码将这些值保存在CSV文件中。由于使用串行通信,我得到了很多重复的值或不需要的值。我在c#项目中实现了与本文中完全相同的代码http://www.codeproject.com/Articles/415732/Reading-and-Writing-CSV-Files-in-Csharp我在代码中这样使用它(读取电流和电压):

CsvRow row = new CsvRow();
row.Add(PanelsVoltage + "");
row.Add(MeasuredCurrent + "");
writer.WriteRow(row);
writer.Flush();

如何控制发送到c#代码中CSV文件的值。如果有任何帮助,我将不胜感激

唯一明智的方法是将已经写入CSV的值存储在某个地方,然后在写入文件之前过滤掉代码中的重复值。

否则,您最终会读取大量文件来检查CSV文件的内容。

如果我是你,我会将数据存储在内存和CSV文件中,然后在添加到CSV之前检查内存中的数据是否重复。

例如,您可以有一个存储电流和电压的对象PanelReading,然后有一个程序存储这些PanelReading对象的List<PanelReading>(从串行数据创建它们);并检查重复项:

list.Contains(p=>p.Current == readValue.Current && p.Voltage == readValue.Voltage)

类似的东西。

控件将数据发送到C#中的CSV文件