我有一个sql08数据库表,我正在用C#阅读。其中一列(学院)包含一些数据,其中一些数据带有逗号:Miami, FL
或Miami, OH
,有些则不包含:USC
。我的输出.csv将包含行的逗号中的数据右移一列。我希望我的输出包含Miami,FL
作为一个字段:|Miami,FL|
而不是|Miami| |FL|
myWriter.WriteLine("Player, Position, Current Team, College");
SqlDataReader myReader = null;
SqlCommand myCommand = new SqlCommand("Select * FROM FootballRoster", myConnection);
myReader = myCommand.ExecuteReader();
while (myReader.Read())
{
string myPlayer = myReader.GetString(0);
string myPosition = myReader.GetString(1);
string myCurTeam = myReader.GetString(2);
string myCollege = myReader.GetString(3);
myWriter.WriteLine("{0}, {1}, {2}, {3},", myPlayer, myPosition, myCurTeam, myCollege);
}
答案 0 :(得分:3)
答案 1 :(得分:2)
尝试将值放在双引号中:
myWriter.WriteLine("\"{0}\", \"{1}\", \"{2}\", \"{3}\",", myPlayer, myPosition, myCurTeam, myCollege);
答案 2 :(得分:1)
通常在.CSV中,如果字符串包含逗号,则用双引号将字段包装。
所以迈阿密,佛罗里达州成为“迈阿密,FL”,在.CSV文件中。
所以你可以做点像......
string myCollege = "";
if(myReader.GetString(3).Contains(","))
{
myCollege = "\"" + myReader.GetString(3) + "\"";
}
else
{
myCollege = myReader.GetString(3);
}