在datagridview c#windows应用程序中显示数组字符串

在datagridview c#windows应用程序中显示数组字符串,c#,list,csv,C#,List,Csv,大家好,提前谢谢。我有以下代码,用于在c#Windows应用程序中显示从.csv文件到datagridview(有三列编号、日期、消息)的记录 var lines = File.ReadAllLines("E:\\messages.csv").Select(a => a.Split(',')).ToList(); foreach (string[] s in lines) { dataGridView1.Rows.Add(s[2], s[5], s[7]); } 对于第一

大家好,提前谢谢。我有以下代码,用于在c#Windows应用程序中显示从.csv文件到datagridview(有三列编号、日期、消息)的记录

 var lines = File.ReadAllLines("E:\\messages.csv").Select(a => a.Split(',')).ToList();
 foreach (string[] s in lines)
 {
    dataGridView1.Rows.Add(s[2], s[5], s[7]);
 }
对于第一个7次出现的“,”来说效果不错,但我在.csv文件中还有其他行的值超过了7“,因此我希望7次之后出现的所有“,”应该与datagridview名称中第三列的第7次出现合并为消息

.csv文件中的一行示例

短信,发送,“+919999999”,“2013.08.01 09:40”,“以下孟买公寓出租:SHIKHA,靠近SHATRANJ,卡特路,Khar花园,面对1500平方英尺的检查,提前2小时通知。--Rohit J.”

您可以使用此选项选择返回的元素数量(
7

您可以使用它来选择要返回的元素数(
7

试一试

试一试


通过简单地在逗号上拆分来读取/解析CSV是个坏主意。考虑下表:

Col 1 Col 2 Col 3 Hello How are you I am fine Hello, world Are you well Yes I am 第1列第2列第3列 你好吗我很好 你好,世界你还好吗是的我很好 CSV将类似于:

Col 1, Col 2, Col 3 Hello, How are you, I am fine "Hello, world", Are you well, Yes I am 第1列、第2列、第3列 你好,你好吗,我很好 “你好,世界”,你还好吗?是的,我很好 用逗号分隔将使第二行变长。嵌套的引号和换行符使这项工作更加困难


相反,不要费心重新发明轮子,而是使用解析器。查看答案或一些建议。

通过简单地在逗号上拆分来读取/解析CSV是个坏主意。考虑下表:

Col 1 Col 2 Col 3 Hello How are you I am fine Hello, world Are you well Yes I am 第1列第2列第3列 你好吗我很好 你好,世界你还好吗是的我很好 CSV将类似于:

Col 1, Col 2, Col 3 Hello, How are you, I am fine "Hello, world", Are you well, Yes I am 第1列、第2列、第3列 你好,你好吗,我很好 “你好,世界”,你还好吗?是的,我很好 用逗号分隔将使第二行变长。嵌套的引号和换行符使这项工作更加困难


相反,不要费心重新发明轮子,而是使用解析器。查看答案或一些建议。

@Shaikhmohammadmadsufiyan-将
s[7]
更改为
s[6]
。或者,如果这是一个结果,请将
7
更改为
8
(以便返回8个结果并保留您的
s[7]
呼叫)。谢谢您,先生。。。我得到了我想要的结果。但是还有一件事,先生。我还想从结果中删除双引号。我怎么能做到呢,先生…@keyboardP你几秒钟前就把我带到了那里,向上投票yours@ShaikhMohammadSufiyan-您是指所有双引号,还是仅指空引号?您可以使用删除quotes@ShaikhMohammadSufiyan-更改
s[7]
s[6]
。或者,如果这是一个结果,请将
7
更改为
8
(以便返回8个结果并保留您的
s[7]
呼叫)。谢谢您,先生。。。我得到了我想要的结果。但是还有一件事,先生。我还想从结果中删除双引号。我怎么能做到呢,先生…@keyboardP你几秒钟前就把我带到了那里,向上投票yours@ShaikhMohammadSufiyan-您是指所有双引号,还是仅指空引号?您可以使用删除引号