linq更新或插入csv文件
linq to update or insert on a csv file
我成功制作了一个使用 Jet 在 csv 文件上执行 SELECT
字符串的 c# class。但是,我确实需要一个 UPDATE
and/or INSERT
语句,而 Jet 显然不允许这样做。我一直在研究使用 LINQ,但似乎也找不到 LINQ 的 UPDATE
子句的任何示例。有人知道吗?或者可能是不同于 LINQ 的 class 可以完成此任务?
基本上,我想将一个 csv 文件读入内存并对其进行查询(select 列,或不同的,等等),这对 Jet 来说很好,但我也想更新行并修改文本文件。
基本上:
UPDATE table
SET col3 = 42
WHERE col1='mouse', col2='dolphins';
并使从 csv 读取的数据生效。
另外,我不知道如何使用 LINQ 按名称访问列。有什么建议吗?
到目前为止,我的 class 的构造函数似乎可以正常解析文件(我可以在手表中看到它并立即 windows),但我不知道如何继续来自这里:
string Method = this.ToString();
this.strFilePath = filePath;
this.strDelim = delim;
Logger.Debug("Starting", Method);
try
{
fileLines = File.ReadAllLines(filePath);
}
catch (Exception Ex)
{
Logger.Error(Ex, Method);
}
this.fileTable = fileLines.Select(l => l.Split(delim));
忽略 'Logger',这是一个内部 class 出于我们自己的目的将内容写入日志。
由于文本文件的组织方式,您的要求无法轻易完成。
一般来说,您不能像更新记录文件那样任意更新文本文件。例如,考虑以下文本文件。
line1,43,27,Jim
line2,29,32,Keith
现在,您想将第 1 行的 43
更改为 4300
。这涉及向文件添加两个字符。因此,您最终不得不将 43
之后的所有内容向下移动两个空格,然后插入 00
。但是将所有内容向下移动两个空格需要扩展文件并移动整个文本。
文本文件通常用于顺序访问:读取和追加。插入或删除会影响超出修改点的整个文件。除非您打算在每次更改时重新编写整个文件,否则您根本不想使用文本文件来保存经常更改的数据。
我成功制作了一个使用 Jet 在 csv 文件上执行 SELECT
字符串的 c# class。但是,我确实需要一个 UPDATE
and/or INSERT
语句,而 Jet 显然不允许这样做。我一直在研究使用 LINQ,但似乎也找不到 LINQ 的 UPDATE
子句的任何示例。有人知道吗?或者可能是不同于 LINQ 的 class 可以完成此任务?
基本上,我想将一个 csv 文件读入内存并对其进行查询(select 列,或不同的,等等),这对 Jet 来说很好,但我也想更新行并修改文本文件。
基本上:
UPDATE table
SET col3 = 42
WHERE col1='mouse', col2='dolphins';
并使从 csv 读取的数据生效。
另外,我不知道如何使用 LINQ 按名称访问列。有什么建议吗?
到目前为止,我的 class 的构造函数似乎可以正常解析文件(我可以在手表中看到它并立即 windows),但我不知道如何继续来自这里:
string Method = this.ToString();
this.strFilePath = filePath;
this.strDelim = delim;
Logger.Debug("Starting", Method);
try
{
fileLines = File.ReadAllLines(filePath);
}
catch (Exception Ex)
{
Logger.Error(Ex, Method);
}
this.fileTable = fileLines.Select(l => l.Split(delim));
忽略 'Logger',这是一个内部 class 出于我们自己的目的将内容写入日志。
由于文本文件的组织方式,您的要求无法轻易完成。
一般来说,您不能像更新记录文件那样任意更新文本文件。例如,考虑以下文本文件。
line1,43,27,Jim
line2,29,32,Keith
现在,您想将第 1 行的 43
更改为 4300
。这涉及向文件添加两个字符。因此,您最终不得不将 43
之后的所有内容向下移动两个空格,然后插入 00
。但是将所有内容向下移动两个空格需要扩展文件并移动整个文本。
文本文件通常用于顺序访问:读取和追加。插入或删除会影响超出修改点的整个文件。除非您打算在每次更改时重新编写整个文件,否则您根本不想使用文本文件来保存经常更改的数据。