从 csv 文件中获取数字金额



嗨,我的应用程序基本上读取一个始终具有相同格式的 CSV 文件,我需要应用程序创建具有不同格式的 CSV 文件。读取和写入 CSV 文件不是问题,但是我遇到的问题是获取金额值,因为这些值在 csv 文件中用 、 格式化(例如:4、500)。话虽如此,这些在写入csv文件时被拆分。

例如:从下面,我如何获得完整的数字.i.e. 2241.84 & 1072809.33

line = "\"02 MAY 18\",\"TTEWTWTE\",\"GRHGWHWH\",\"02 MAY 18\",\">

2,241.84\",\"\",\"1,072,809.33\">

这就是我从CSV文件中读取的方式。

openFileDialog1.ShowDialog();
var reader = new StreamReader(File.OpenRead(openFileDialog1.FileName));
List<string> searchList = new List<string>();
while (!reader.EndOfStream)
{
var line = reader.ReadLine();
searchList.Add(line);
}

到目前为止,我已经尝试使用以下内容,它可以让您获得正确的"2,241.84",但是在写入csv文件时,我只得到2

searchList[2].Split(',')[1].Replace(""", "")

让我以另一种方式可视化内容:

"
"02 MAY 18",
"TTEWTWTE",
"GRHGWHWH",
"02 MAY 18",
"2,241.84",
"",
"1,072,809.33"
"

似乎您的分隔符是",而不是,.将searchList[2].Split(',')[1].Replace(""", "")更改为searchList[1].Split(new string[] { "","" }, StringSplitOptions.None)

在您的情况下,您可以使用以下内容:

var result = searchList[2].Split(new string[] { "","" }, StringSplitOptions.None)[4].Replace(""", "");

用分隔符拆分字符串","而不是,.

我不知道你为什么对索引使用静态数字,但我会假设它是为了测试目的。

最新更新