CSV 文件保存读取
读取
using (TextFieldParser parser = new TextFieldParser(Path)) { // 设置解析器处理分隔符类型的文件,并指定分隔符为逗号 parser.TextFieldType = FieldType.Delimited; parser.SetDelimiters(","); MessageParsing b = new MessageParsing(); int i = 0; // 循环读取文件中的每一行数据 while (!parser.EndOfData) { // 使用ReadFields方法获取当前行的字段数组 string[] fields = parser.ReadFields(); if (i < 2) { i++; continue; } MonitorDataModule a = new MonitorDataModule(); a.DateTime = DateTime.ParseExact(fields[0], "yyyy-MM-dd-HH:mm:ss.fff", CultureInfo.InvariantCulture); a.StrID = fields[1]; a.StrData = fields[3]; d.Add(a); } }
保存
/// <summary> /// 保存CSV:纯文本格式 /// </summary> /// <param name="dt"></param> /// <param name="saveFileName"></param> /// <param name="load"></param> private void SaveCSV(List<MonitorDataModule> dt, string saveFileName) { try { using (StreamWriter fs = new StreamWriter(saveFileName, new FileStreamOptions() { Mode = FileMode.Create, Access = FileAccess.Write })) { for (int i = 0; i < dt.Count; i++) { StringBuilder sb = new StringBuilder(); sb.Append("\t"); sb.Append(dt[i].DateTime.ToString("yyyy-MM-dd HH:mm:ss.fff")); sb.Append(","); sb.Append("\t"); sb.Append(dt[i].StrID.ToString()); sb.Append(","); sb.Append("\t"); sb.Append(dt[i].StrData.ToString()); sb.Append(","); fs.WriteLine(sb); } fs.Flush(); } } catch (Exception ex) { _logger.LogError("文件写入失败:" + ex.Message); } }
浙公网安备 33010602011771号