我正在尝试阅读csv
以下是样本。
"0734306547 ","9780734306548 ","Jane Eyre Pink PP ","Bronte Charlotte ","FRONT LIST",20/03/2013 0:00:00,0,"PAPERBACK","Y","Pen"
以下是我使用读取CSV
的代码public void readCSV()
{
StreamReader reader = new StreamReader(File.OpenRead(@"C:\abc\21-08-2013\PNZdatafeed.csv"),Encoding.ASCII);
List<string> ISBN = new List<String>();
while (!reader.EndOfStream)
{
string line = reader.ReadLine();
if (!String.IsNullOrWhiteSpace(line))
{
string[] values = line.Split(',');
if (values[9] == "Pen")
{
ISBN.Add(values[1]);
}
}
}
MessageBox.Show(ISBN.Count().ToString());
}
我无法将其值if (values[9] == "Pen")
进行比较,因为在调试代码时,values[9]
值为\"Pen\""
我如何摆脱特殊字符。?
答案 0 :(得分:1)
这里的问题是,每当您找到,
并且保留这样的数据时,您就会分割该行。例如,如果这是您正在阅读的行:
"A","B","C"
你用逗号分隔它,你会得到"A"
,"B"
和"C"
作为你的数据。根据您的描述,您不希望数据周围有引号。
扔掉字符串周围的引号:
"
。"
。在伪代码中:
if (data.left(1) == "\"" && data.right(1) == "\"") {
data = data.trimleft(1).trimright(1)
}
此时您可能会遇到一些问题(我不确定您有多少经验)。如果这些中的任何一个适用于你,请随时问他们,我会进一步解释。
"\""
是什么意思?