C# CSV文件定界

C# CSV文件定界,c#,csv,delimiter,C#,Csv,Delimiter,我有一个字符串被读入,然后输出到一个CSV文件,里面有一个逗号。字符串是 美国,B&W 1-25 我只想让这个字符串留在一个特定的单元格中,而不是分裂成两个不同的单元格。这可能有一个简单的答案,但我很难做到这一点。任何帮助都将不胜感激。这里是我的输出代码,如果需要任何人想看看它 public void printAll() { output2.WriteLine("All companies in order of sequence number, THIS IS

我有一个字符串被读入,然后输出到一个CSV文件,里面有一个逗号。字符串是

美国,B&W 1-25

我只想让这个字符串留在一个特定的单元格中,而不是分裂成两个不同的单元格。这可能有一个简单的答案,但我很难做到这一点。任何帮助都将不胜感激。这里是我的输出代码,如果需要任何人想看看它

    public void printAll()
    {
        output2.WriteLine("All companies in order of sequence number, THIS IS OUTPUT 2!");
        output2.WriteLine("___________________________________________________________________________________________");
        int i = listHead2;

        //Loops until the end of the list, printing out info
        while (i != -1)
        {
            output2.WriteLine("{0}" + ", {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}, {15}, {16}, {17}, {18}, {19}, {20}, {21}, {22}, {23}, {24}, {25}, {26}, {27}, {28}, {29}, {30}, {31}, {32}, {33}, {34}, {35}",
                leaseName2[i], fieldName2[i],reservoir2[i], operator2[i], county2[i], state2[i],  majo2[i], resvCatgory2[i], disRate2[i], netOil2Int2[i], netGas2Int2[i], workingInt2[i], grossWells2[i]
                ,ultOil2[i], ultGas2[i], grossOil2[i], grossNGL2[i], grossGas2[i], netOil2[i], netGas2[i], netNGL2[i], revToInt2[i], operExpense2[i], totInvest2[i], revOil2[i], revGas2[i], operatingProfit2[i],
            revNGL2[i], discNetIncome2[i], seqNum2[i], wellID2[i], incASN2[i], lifeYears2[i],  ownQual2[i], prodTax2[i], AdValorem2Tax2[i]);
            i = pointers2[i];
        }
    }

谢谢

您可以尝试将字段用双引号括起来:“USA,B&W 1-25”,这将导致字符串被视为一列。

您可以尝试将字段用双引号括起来:“USA,B&W 1-25”,这将导致字符串被视为一列。

CSV文件不一定需要逗号分隔。如果有帮助的话,你可以用分号来分隔

CSV文件不一定需要逗号分隔。如果有帮助的话,你可以用分号来分隔

您可以创建一个引用字符串的小方法:

public string QuoteString(string input)
{
    return "\"" + input.Replace("\"", "\"\"") + "\"";
}
然后您可以这样使用:

QuoteString(leaseName2[i]), QuoteString(fieldName2[i]),...

祝您的代码好运。

您可以创建一个引用字符串的小方法:

public string QuoteString(string input)
{
    return "\"" + input.Replace("\"", "\"\"") + "\"";
}
然后您可以这样使用:

QuoteString(leaseName2[i]), QuoteString(fieldName2[i]),...

祝您的代码好运。

+1这是正确的。有关更完整的解决方案,请参阅。@Erik Schierboom抱歉,我不清楚,这是从一个文件和许多不同的字符串中读入的,这些字符串中可能有逗号,我不想分隔。@Stock Well这意味着问题出在源文件中。源文件在该字段周围没有引号?详细信息:对于字符串中的双引号字符(例如
USA,“B&W”1-25
),您应该实际使用
”,因此如果它是逐字字符串,您可以编写
@“USA”,“B&W”1-25“
+1,这是正确的。有关更完整的解决方案,请参阅。@Erik Schierboom抱歉,我不清楚,这是从一个文件和许多不同的字符串中读入的,这些字符串中可能有逗号,我不想分隔。@Stock Well这意味着问题出在源文件中。源文件在该字段周围没有引号?详细信息:对于字符串中的双引号字符(例如
USA,“B&W”1-25
),您应该实际使用
”,因此,如果它是逐字字符串,您可以编写
@“USA”,“B&W”“1-25”“
。抱歉,也许您也可以提供帮助。如果一个字符串有多个逗号,比如brombium,HUNTON,MIS,我该怎么办?引号处理逗号,它只是一个字段中的“brombium,HUNTON,MIS”对不起,也许你也可以帮忙。如果一个字符串有多个逗号,比如brombium,HUNTON,MIS,我该怎么办?引号处理逗号,在一个字段中就是“brombium,HUNTON,MIS”