在 CSV 中查找和删除值
本文关键字:删除 查找 CSV | 更新日期: 2023-09-27 18:35:07
这些是CSV文件的内容 -
海拔上升,海拔下降,海拔平均,海拔电流,海拔终点,海拔最大值,海拔最小值,海拔开始,卡路里,类名,创建App版本,创建设备,创建IOSVersion,距离,eaType,生态模块,经过秒,脂肪卡路里,脚荚经过秒间隔,gps传感器,gps_distance,gps_maxspeed,心脏传感器,已完成评估,isLocationIndoors,isgpsonly,maxBPM,maxspeed,minBPM,其他锻炼类型名称,其他区域时间,主要来源速度距离,readCountBPM,routineds,routineid,startLat,startLon,startTime,totalBeats,totalDurationSeconds,totalPausedSeconds0,2.37,-999999,33.66,33.66,42.76,28.21,36.47,410.08,主动锻炼,7.00,iPhone5,1,7.0,0.27,0,1024,2657,207.77,2655,ios,0.27,3.69,ble,否,否,是,186,3.69,87,举重,85,GPS,884,4.000000,TEMP-1663889272,37.10730362,-76.50557709,2013-08-26T18:48:21,110056,0,0
我需要从 CSV 文件中删除"7.00"值。如何在 VB 或 C# 中执行此操作?
string names;
List<string> values;
using (var stream = new StreamReader("path/to/file.csv"))
{
names = stream.ReadLine();
values = stream.ReadLine().Split(',').ToList();
}
values.RemoveAt(9);
names; // first part of file
string secondPartOfFile = string.Join(",", values);
我有用
var sr = new StreamReader("file.csv");
var writeToFile = new StreamWriter("out.csv");
string line;
while ((line = sr.ReadLine()) != null)
{
writeToFile.WriteLine(sr.ReadLine().ToString().Replace(",7.00", ""));
}
writeToFile.Close();
sr.Close();
-
我会使用此处找到的连接字符串或此处的示例连接到该文件,将其加载到 DataTable 对象中,然后这样做(假设您调用变量"dt"):
dt["columnName"][rowNumber] = string.Empty;
-
如果始终等于 7.00,则可以使用 TextReader 读取文件,然后执行类似
yourFile = yourFile.Replace(",7.00,", ",,");
这取决于你的方案,也许你甚至可以以更适合工作的格式获取数据,例如 JSON 对象或其他内容。