问题描述
提示这个错误什么情况TheCSVappearstobecorruptnearrecord'0'field'6atposition'987'.Currentrawdata:using(CsvReadercsv=newCsvReader(newStreamReader(filPpath),true)){intfieldCount=csv.FieldCount;string[]headers=csv.GetFieldHeaders();while(csv.ReadNextRecord()){for(inti=0;i<fieldCount;i++){//lvi.SubItems.Add(csv[i]);stringx=headers[i];stringy=csv[i];//Console.Write(string.Format("{0}={1};",headers[i],csv[i]));//Console.WriteLine();}}}
解决方案
本帖最后由 w63389 于 2015-07-22 14:23:31 编辑
解决方案二:
你CSV文件里面,可能有数据被损坏而无法读取.
解决方案三:
可能某个列里面有的CSV文件的分隔符,比如说你的使用英文逗号,分割,但是某一格里面的数据有英文逗号,这样就会报错了。
解决方案四:
引用2楼lihui398的回复:
可能某个列里面有的CSV文件的分隔符,比如说你的使用英文逗号,分割,但是某一格里面的数据有英文逗号,这样就会报错了。
那怎么办啊!!!!!!!!
解决方案五:
引用3楼w63389的回复:
Quote: 引用2楼lihui398的回复:
可能某个列里面有的CSV文件的分隔符,比如说你的使用英文逗号,分割,但是某一格里面的数据有英文逗号,这样就会报错了。那怎么办啊!!!!!!!!
你查下每列的数据是否跟我说的那样,如果是,就不能用CSV格式数据的逐行读取方式了,文件本身就是破坏了CSV文件的格式
解决方案六:
引用3楼w63389的回复:
Quote: 引用2楼lihui398的回复:
可能某个列里面有的CSV文件的分隔符,比如说你的使用英文逗号,分割,但是某一格里面的数据有英文逗号,这样就会报错了。那怎么办啊!!!!!!!!
用Excel打开,再保存一下
解决方案七:
引用5楼shingoscar的回复:
Quote: 引用3楼w63389的回复:
Quote: 引用2楼lihui398的回复:
可能某个列里面有的CSV文件的分隔符,比如说你的使用英文逗号,分割,但是某一格里面的数据有英文逗号,这样就会报错了。那怎么办啊!!!!!!!!
用Excel打开,再保存一下
那个不是逗号分隔的问题。。我用wps转换掉之后可以打开,。就是不知道那出问题了。。。