第一个问题,所以希望它会是相关的。虽然对编码不是很陌生......我对“好”编码很陌生,所以如果我完全不知道明显的最佳实践,我深表歉意。
我目前正在逐行写入 CSV 文件(使用 c#)。
这一切都很好,直到今天早上我被告知,我正在编写代码的部门实际上想要一个文件中的所有行(我每批做一个文件,并在批处理 lvl 上进行错误检查,所以如果批次有任何问题 没有批次出口)
他们仍然需要它在批处理 lvl 上是全有或全无(我在尝试将它们写入文件之前检查“单元格”值,因此该阶段应该工作)但我敏锐地意识到我的一部分在开始文件写入之前我目前无法检查的代码是行自己写的。我想知道个别行写入失败的可能性有多大?假设文件被正确创建/第一行正确访问?其次,我想如果这可能是一个问题,是否有任何我应该注意的“最佳实践”来简化(或消除)问题。
下面的代码我为需要编写的批处理中的每一行调用。
public void WriteRow(CsvRow row)
{
StringBuilder builder = new StringBuilder();
bool firstColumn = true;
foreach (string value in row)
{
// Add separator if this isn't the first value
if (!firstColumn)
builder.Append(',');
// Implement special handling for values that contain comma or quote
// Enclose in quotes and double up any double quotes
if (value.IndexOfAny(new char[] { '"', ',' }) != -1)
builder.AppendFormat("\"{0}\"", value.Replace("\"", "\"\""));
else
builder.Append(value);
firstColumn = false;
}
row.LineText = builder.ToString();
WriteLine(row.LineText);
}