我想实现这样的动作,就是在每次向csv文件写数据的时候,都先把csv文件内的内容清空,但是要保留csv的表头。不知道有没有比较方便的做法?
按你的意思,你是搞1个csv然后丢1个.
那你在写第一个csv的时候就已经可以拿到表头。
给你伪代码:
public void SmashCSV(data) {
//你写第一个CSV就知道从哪里得到表头,把它存起来,每次新新数据的时候获取它
var tableHeader = getTableHeader();
//按你的语言去实现打开或者复写一个CSV文件
var file = openOrWriteFile(csvFileName);
//写入表头
file.writeLine(tableHeader)
//写入新数据
file.appendLine(data);
}
笨办法:
1.删文件前,把文件的第一行读出来保存。
2.删文件。
3.写入表头,写入新数据.
先用 StreamReader.ReadLine() 把第一行读到变量中。然后用覆盖的方式写第一行、写后续的数据。
又:数据多少列都确定了,表头不也确定的,直接写就行了。
你可以简单的就是删除文件从第二行开始的内容
1、首先读取首行数据,然后再用覆盖方式写回去
2、如果表头固定,可以把表头内容存储到配置文件中