【问题标题】:CSV File DelimitingCSV 文件分隔
【发布时间】:2013-05-31 15:40:37
【问题描述】:

我读入了一个字符串,然后将其输出到一个包含逗号的 CSV 文件中。字符串是

美国,黑白 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];
        }
    }

谢谢。

【问题讨论】:

    标签: c# csv delimiter


    【解决方案1】:

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

    public string QuoteString(string input)
    {
        return "\"" + input.Replace("\"", "\"\"") + "\"";
    }
    

    你可以这样使用:

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

    祝你的代码好运。

    【讨论】:

    • 对不起,也许你也可以帮忙。如果一个字符串有多个逗号,比如 BROMIDE、HUNTON、MIS,我该怎么办?
    • 引号处理逗号,它只是一个字段中的“BROMIDE,HUNTON,MIS”
    【解决方案2】:

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

    【讨论】:

    • +1 这是正确的。如需更完整的解决方案,请参阅 this answer
    • @Erik Schierboom 对不起,我不清楚,这是从一个文件和许多不同的字符串中读入的,比如这个字符串中可能包含我不想分隔的逗号。
    • @Stock 这意味着问题出在您的源文件中。源文件在该字段周围没有引号?
    • 更多信息:对于字符串中的双引号字符(例如USA, "B&W" 1-25),您实际上应该使用"",因此如果是逐字字符串,您可以写成@"""USA, """"B&W"""" 1-25"""。跨度>
    【解决方案3】:

    CSV 文件不一定需要用逗号分隔。如果有帮助,您可以使用分号进行分隔!

    【讨论】:

      猜你喜欢
      • 2015-08-09
      • 2019-09-19
      • 2020-03-25
      • 1970-01-01
      • 2021-12-17
      • 2012-06-18
      • 2015-10-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多